JavaScript笔记
文章平均质量分 80
JavaScript笔记
你好牛蛙
我是大帅比
展开
-
AJAX+AJAX中的同步和异步
文章目录AJAX什么是AJAX如何使用AJAX结合例子说明创建AJAX对象初始化 设置请求方法和url设置请求头(可无)发送请求为创建的AJAX绑定事件(处理响应)处理响应(获取响应信息)AJAX中的同步和异步同步异步AJAXAJAX的概述AJAX = Asynchronous JavaScript and XML (异步的JavaScript和XML)。A]AX不是新的编程语言,而是一种使用现有标准的新方法。AJAX是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。什么是A原创 2021-04-25 20:07:29 · 1106 阅读 · 3 评论 -
JSON----Json在JavaScript和Java中的作用和用法
文章目录JSONJSON作用把对象转换为字符串把字符串转换为对象eval()利用eval将字符串转换为对象JSONJSON作用JSON是一种特殊的字符串,用于数据交互上面。这种字符串可以被各种语言识别,我们可以在一种语言中,把对象(对象必须不含函数)转换成字符串,然后在另一种语言中使用JSON把字符串转换为对象,从而实现数据交互。把对象转换为字符串首先,我们在JS中创建一个对象:var obj={"name":"牛蛙","age":18,"Gender":"小青年"};注意,我们这里创建的对象原创 2021-04-11 19:13:28 · 653 阅读 · 2 评论 -
正则表达式技术(升级版)
正则表达式的作用用于定义一些字符串的规则,即我们可以创建一个组成字符串的规则(如规定字符中必须含a这个字符),可以使用正则表达式,然后通过正则表达式检测字符串是否符合我们定义的规则创建一个正则表达式规则语法:var 变量名 = new RegExp("正则表达式","匹配模式");括号里面有两个参数第二个参数是匹配模式,他有两个值可选i 忽略大小写g 全局匹配模式当然这项也可以选择不填,不填的话就会自动区分大小写第一个参数用来填写我们定义的规则,即正则表达式...原创 2021-01-23 16:23:58 · 400 阅读 · 8 评论 -
字符的操作+操作方法+包装类
Mathjavascript中的Math是一个工具类什么是工具类?即不用创建对象,可以直接拿来使用的类我们可以直接通过Math.属性名或Math.方法名(参数列表),来获得这些属性或者使用这些方法Math的一些属性Math对象的一些方法例:工具类直接就可以用,比如console,log()也可以直接用...原创 2021-01-19 20:42:20 · 1192 阅读 · 8 评论 -
获取和设置当前时间和获取时间戳+函数的隐形参数之arguments+js中的数学操作之Math
目录获取随机数之Random获取随机数之Random和数据输入一样,有三个步骤导包 即import java.util.Random;创建对象 如Random ran=new Random();获取随机数 如:int number=ran.nextInt(10);这是获取一个处于[0,10)中的一个整形数,nextInt后面括号中的参数就是不能达到的最大值我们也可以用.原创 2021-01-18 23:14:58 · 598 阅读 · 5 评论 -
JavaScript中的数组
JavaScript中数组JS中创建数组的方法:var 数组名=new Array();数组也是一种对象,他和普通对象的区别就在于:普通对象的属性名由字符串组成,然后数组也是有属性的,即存储在数组中的数据,这些数据在数组中被称作元素,数组这种对象他的属性名用索引来替代。索引:即从0开始的整数获得数组的长度用数组对象的length属性简单点说,length这个属性返回值就是数组最大索引值+1的数比如我们创建一个不连续数组不连续数组就是如下图,不按索引递增的顺序赋值这里我们的length值就原创 2020-12-30 17:34:47 · 821 阅读 · 3 评论 -
垃圾回收机制
什么是垃圾?当一个对象没有任何的变量或属性对他进行引用,此时我们将永远无法操作此对象,就比如我们把一个对象设置为null(对象名=null)的时候,他就成为了一个垃圾为什么需要垃圾回收机制?这种对象过多会占用大量的内存空间,导致程序运行变慢或出问题,所以大部分编程语言都会有自己的垃圾处理机制垃圾回收机制的运行现代类似于js的一些编程语言都会有自动的垃圾回收机制,我们不用也无法对这些垃圾进行清理,清理垃圾的操作留给编程语言自己去做就行我们需要做的事我们只需要把不再使用的对象设置为null就行,剩原创 2020-11-15 16:20:01 · 188 阅读 · 1 评论 -
toString函数的重写(JavaScript)
当我们在页面上直接打印一个对象的时候他的结果都是[object Object],其实我们直接打印对象的时候其实打印的是对象toString方法的返回值,对象的toString方法返回值就是[object Object]我们可以重写toString方法,让我们在直接打印对象的时候会显示不同的效果因为原对象的toString方法是在对象的原型对象的原型对象里面的,所以我们在这个外边写一个toString函数直接覆盖掉原来的toString函数我们直接为构造函数(类)的原型对象写一个toString函数,原创 2020-11-15 15:46:22 · 1366 阅读 · 1 评论 -
查看对象中是否含有某个属性
in用in可以检查我们的对象中是否含有某个属性语法:"属性名" in 对象名返回值是true或者false这个in有个弊端当对象中的原型对象有指定的属性的话也会被判定为此对象的属性如下:所以我们可以用hasOwnProperty()函数hasOwnProperty()作用:判断对象中是否含有对象自身的属性语法:对象.hasOwnProperty("属性名")实例:这里,对象的原型对象中的属性不会被hasOwnProperty()判断为此对象的属性...原创 2020-11-15 14:06:22 · 1856 阅读 · 2 评论 -
原型对象和对象的构造函数修改
对象的构造函数修改问题描述:当我们用构造函数创建对象的时候,构造函数中的属性在我们每次创建对象的时候都会再次创建,但是如果某一个属性是我们所有对象共有的,即意思是这个属性我们所有的对象都相同如下:看这里明明同样功能的函数,却因为创建了两个对象而被创建了两次,搞得这两个对象的同功能函数也不相同,这样会非常占内存,我们不需要这些属性多次创建方法一:把相同的属性设置为全局作用域我们设置全局作用域的函数,把它传给构造函数的一个属性,然后用这个构造函数创建的对象都会用这个共同的全局作用域函数,这样我们原创 2020-11-15 13:35:31 · 543 阅读 · 1 评论 -
构造函数和简单创建大批的对象
我们可以创建一个对象专门用来创建对象即写一个函数,里面先创建对象即var obj=new Object()然后里面为对象添加属性,即我们在函数里面设置属性名和属性值为形参,方便我们调用这个函数创建对象的时候好改变其中的属性然后记得函数的最后设置返回值为这个对象,然后就可以用这个函数来创建对象了如下:我这里的没有把变量名设为形参我们这样创建对象就能省去很多代码...原创 2020-11-09 21:08:43 · 605 阅读 · 1 评论 -
this的小知识
this是用在函数里的解析器在调用函数时每次都会向函数内部传递进一个隐含的参数,这个参数就是this,this指向的是一个对象。这个对象我们称为函数执行的上下文对象,来,我们打印一下this试一下:显示是一个window对象但是注意,根据函数的调用方法不同,this会指向不同的对象即,this并不是一直指向window对象的,有下面几种情况1.以函数的形式调用的时候,this永远都是window,即这种情况显示是一个window对象2.把函数当做一个对象的方法,通过这个对象来调用这个函数的时原创 2020-11-09 14:19:15 · 372 阅读 · 2 评论 -
变量的声明提前和函数的声明提前 全局作用域和函数作用域的定义和释义
window全局对象全局作用域:直接编写在script标签中的js代码,都在全局作用域全局作用域中的变量都是全局变量,在页面的任意的部分都可以访问的到window对象的简介:window是全局作用域中的一个对象,他代表的是一个浏览器的窗口,他由浏览器创建,我们可以直接使用。在全局作用域中,我们创建的变量都会作为window对象的属性保存所以我们可以这样来调用全局作用域中的变量同时,全局作用域中创建的函数都会作为window的方法来保存全局作用域中的对象也可以作为window的属性变原创 2020-11-08 11:32:16 · 1387 阅读 · 7 评论 -
html中节点的常用属性和方法
什么是html中的节点:一个html页面加载完成他会形成一个dom树,树上的每一个dom对象都是一个节点,可以理解为节点就是html中的标签对象,但不止是标签对象。方法:getElenmentsByTagName(tagename)语法:节点.getElenmentsByTagName(tagename)tagname是标签名获取到当前节点的指定标签名的孩子节点appendChild(oChildNode)语法:节点.appendChild(oChildNode)可以添加一个子原创 2020-10-06 20:30:42 · 3004 阅读 · 1 评论 -
Document对象中的方法介绍
Document中重要且常用的几个方法1.document.getElementById(elementId)通过标签的id属性查找标签dom对象,elementId是标签的id属性2.document.getElementByName(elementName)通过标签的name属性查找标签dom对象,elementName是标签的name属性值3.document.getElementByTagName(tagename)通过标签名查找标签dom对象,tagname是标签名4.d原创 2020-10-04 13:23:01 · 4877 阅读 · 7 评论 -
验证提示效果
常见的两种验证提示效果第一种前面的输入框和校检部分不再赘述想看移动至这里####后面显示的数据不合法是一个span标签,这里这个标签我们也需要通过document得到他的对象,然后通过这个对象对他进行修改,这里是通过得到的对象对span中结束与开始标签中的内容进行更改。<span id="1"></span>span标签设置idvar obj1=document.getElementById("1")通过document获取span对象if (patt.test(a))原创 2020-10-03 18:55:46 · 650 阅读 · 1 评论 -
正则表达式技术
作用:一般用来测试某个字符串是否合乎一定的规则,属于js中的要写在script标签里面比如测试字符串里面是否包含e var patt=new RegExp("e"); var str="abcd"; alert(patt.test(str)); alert(patt); //这里返回值为false创建一个规则条件new RegExp("e")表示是否含有e,并把它赋给patt 通过patt.test(“字符串”)来测试字符串里是否含有e,返回值为false或者true;原创 2020-10-03 16:48:48 · 1773 阅读 · 2 评论 -
dom模型介绍
dom全称:Document Object Model模型即:就是把文档中的标签,属性,文本,转换为对象来管理。(这里文档指的是html中的代码文档)我们可以实现把标签,属性,文本转换为对象来管理。Document对象表示整个html代码页面document对象的理解1.document它管理了所有的html文档内容2.document它是一种树形文档,有层次关系3.它让我们把所有的标签都对象化(类似于用类记录标签的信息,叫标签的对象化)如下例子这里Dom类表示标签类上面"父亲"那一原创 2020-10-02 21:09:20 · 2856 阅读 · 2 评论 -
动态注册和静态注册 常用的事件 表单提交事件 点击事件 失去焦点事件 内容改变事件 加载完成事件
事件事件就是·电脑输入设备与页面进行的交互式响应,我们称之为事件。常见的事件onload 加载完成事件页面加载完成后,常用于js代码初始化操作onclick 单击事件常用于按钮的点击响应操作onblur 失去失去焦点事件常用于输入框失去焦点后验证其输入内容是否合法oncharge 内容发生改变事件常用于下拉列表和输入框发生改变后的操作onsubmit 表单提交事件常用于表单提交前,验证所有的表单项是否合法。可以用伪类或伪元素进行选择然后操作事件的注册要想使用这些事件需要知道事件原创 2020-10-02 20:08:39 · 849 阅读 · 1 评论 -
javascript中的数组和函数
数组数组定义js中数组的定义不需要指明数组的类型,直接var a=[];可以定义一个数组名为a的空数组,还可var a=[1,"qwe","李"];直接在定义的时候向里面添加数组。数组长度数组长度不受定义时候的限制,可任意改变。比如空数组刚定义的时候长度为0,可在向里面添加数据改变数组长度,a[2]=4;直接跳过下标为0,和1的a[0],a[1]向里面添加数组,此时数组长度变为3,而且a[0]和a[1]的值都为undefine。 可用a.length来测试数组的长度。函数函数定义的方式原创 2020-09-29 20:09:18 · 404 阅读 · 1 评论 -
对象的基本知识 对象特殊属性名的命名规范 利用字面量快速创建对象
<!-- new: 使用new关键字调用的函数,是构造函数constructor 构造函数是专门用来创建对象的函数--><!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> var obj=new Object(); //调用原创 2020-09-13 18:47:46 · 1343 阅读 · 1 评论 -
计时器 测试程序执行时间的快慢 测试程序的性能
要测试一段程序的运行时间可使用计时器计时器:在要测试的程序代码前面写 console.time(“计时器的名字”);来开启一个计时器,即代码运行到这里便开始计时。括号里面为此次计时器命名。<script type="text/javascript"> console.time("text"); var i; i=prompt("打洗你"); console.log("i="+i); console.timeEnd("text"); </script&原创 2020-09-12 19:25:03 · 353 阅读 · 1 评论 -
网页中弹出需要输入内容的文本框
prompt()函数js中 用prompt()可与弹出一个提示框,该提示框中会带有一个文本框,用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,该字符串会作为提示框的提示文字。同时 用户输入的内容会作为此函数的返回值返回,可以定义一个变量来接收返回值。 <script type="text/javascript"> var i; i=prompt("打洗你"); console.log(i); </script>...原创 2020-09-12 19:11:15 · 1752 阅读 · 0 评论 -
continue break 循环的标记命名 知识补充 在任意地方结束指定的循环
break只能在循环或者switch语句中使用continue只能用于循环语句 作用:跳出当次循环 提前进入下次循环这俩不仅可以用于完成必须的程序需求还可用于程序的性能优化(缩短执行时间)想在任意的地方结束指定循环可以在循环前面跟上一个label来为循环命名 跟html中的id有点类似即标记一下,然后可以利用break或continue后面跟上指定的label来退出指定的循环<script type="text/javascript"> 沙雕:for (var i=0;i<5原创 2020-09-12 17:19:42 · 363 阅读 · 0 评论 -
相等运算符的总结
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> console.log("1"==1); console.log("1"==true); // 非Number比较 一般都是将其他类型的转换为Number进行比较 console.log.原创 2020-09-11 17:56:21 · 340 阅读 · 0 评论 -
在控制台 在网页 输出特殊符号 Unicod编码
<!-- Unicod编码用的16进制--><!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> console.log("\u2620"); /*可使用转义字符"\"后面加上u后面再跟上16进制编码的方式 * 输出Unico原创 2020-09-11 17:11:17 · 843 阅读 · 0 评论 -
字母排序 字符串跟字符串比较大小 字符串跟数字比较大小
对于非数字进行比较 则会先转换为数字进行比较特殊情况 当两边都是字符串 不会转换为数字进行比较想要比较一个数字样式的字符串 则一定要先进行字符转型而是比较他们的Unicode编码即字符编码从第一位开始一位一位进行比较 当若比较出大小则不往下进行 取比较出的结果若一直为相等 则 取相等 可利用这个特性进行字母排序<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title&原创 2020-09-11 16:35:45 · 1391 阅读 · 0 评论 -
逻辑运算符 利用逻辑运算符进行数据类型转换 逻辑运算符对非Boolean的运算
"!"运算符对非boolean运算则会先给转换为boolean然后运算可以用这个进行数据转换对于非boolean的逻辑运算 会先将原值转换为boolean然后运算 然后再返回原值可用此特性进行一些程序简化详细的在注释<!-- !运算符对非boolean运算则会先给转换为boolean然后运算 可以用这个进行数据转换--><!DOCTYPE html><html> <head> <meta charset="UTF-8">原创 2020-09-11 11:05:14 · 830 阅读 · 3 评论 -
String Boolean undefined null Number String 的加减乘除取余算术运算及类型转换 自增自减的遗留问题
来了来了<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> var a=123; a=typeof a; /*typeof返回值为字符(用来表示数据类型的字符 比如"数字"这个词是中文但却不是数字) 即为String 这里number也为原创 2020-09-09 21:29:50 · 263 阅读 · 2 评论 -
各种进制的格式和转换为整数问题
注释!!!<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> a=0x10;//十进制16 console.log(a); a=0xff;//十进制255 console.log(a); a=0xCafe;//十进制51966原创 2020-09-09 10:42:31 · 408 阅读 · 2 评论 -
强制转换 字符转换String Number Boolean 字符的强制转换
不多废话 全在注释<!-- 强制类型转换 主要是指将其他的数据类型转换为 String Number Boolean; 要调用被转换数据类型为String用toString()方法 但不能转换空值即NULL和未赋值的变量即undefined 因为他们没有toString方法 可用二方法 如下 转换为Number 方法一:用Number()函数跟String()方法一样但当原数据无法转换为数字 比如“abc” 则会返回NaN(no a Number) (NaN不是数据类型) 接下原创 2020-09-08 19:44:04 · 1175 阅读 · 3 评论 -
js数据类型 NaN js最大最小值 检查变量类型
不多废话<!-- js中所有的数值都是Number包括整数小数 可以用typeof检查一个变量类型 语法即typeof 变量;--><!-- js最大值Number.MAX_VALUE(1.7976931348623157e+308) 超出数值会打印Infinity(无穷的) js中零以上的最小值 Number.MIN_VALUE(5e-324)--><!-- 当非数字相乘 会返回一个NaN即 NO a Number表示不是数字 但NaN也是数字类型原创 2020-09-07 17:03:59 · 344 阅读 · 2 评论 -
js字符类型 转义符\ 打印斜杠 打印特殊字符
不多BB<!-- 数据类型:字面量的类型 js中总共六种 String 字符串 Number 数值 Boolean 布尔值 Null 空值 Undefined 未定义 Object 对象--><!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script> var str="nidi原创 2020-09-06 21:36:28 · 2080 阅读 · 5 评论 -
js笔记之标识符
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> var a_1_$=123; /*标识符是由字母数字下划线和$组成 类似于变量 也不能以数字开头 不能是关键字和保留字(菜鸟发问 保留字是啥?) 一般用驼峰命名法 即首字母小写 每个单词开头原创 2020-09-06 21:16:22 · 230 阅读 · 2 评论 -
变量和字面量类似于c...
<!-- 字面量即不会改变的值 比如1,2,3,4...... 可直接使用但一般不直接使用 变量 可任意改变的量 用于存储字面量 类似于数学中的未知数x 变量使用前需要先什么--><!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script> var a=123;//声明变量a 同时变量a赋原创 2020-09-06 18:07:57 · 191 阅读 · 4 评论 -
js基本语法 每条语句结束分号结尾 严格区分大小写
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> alert("劳资跳起来"); //严格区分大小写 alert不能写成Alert /*每条语句结束 ;号结尾 不写浏览器会自动给你加上 * 但会占用资源 而且有的时候会报错*/ <原创 2020-09-06 17:44:42 · 456 阅读 · 4 评论