js基本数据类型有哪些?
- Number
- String
- Boolean
- Undefined
- Null
Ajax如何使用?
创建XMLHttpRequest对象 ????????语法:let xhr = new XMLHttpRequest(); 向服务器发送请求 ????????get方式:调用open方法,参数为(请求方式,请求地址+请求参数,是否异步) ? ? ? ? ? ? ? ? ? ? ? ? 调用send()方法 ????????post方式:调用open方法,参数为(请求方式,请求地址,是否异步) ? ? ? ? ? ? ? ? ? ? ? ? ?添加请求头:xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ????????????????????????调用send(请求参数)方法
接收服务器响应 ????????使用onreadystatechange事件: ? ? ? ? 写法:xhr.onreadystatechange=function(){ ????????if(xhr.readyState==4&&xhr.status==200){ ????????fun(xhr.responseText); ????????}
如何判断一个数据是NaN?
????????NaN不是一个数字且数据类型为Number,而且不等于自身
????????利用NaN不等于唯一不等于自身的特点: ? ? ? ? 写法:funcion isNaN(n){ ????????if(n!=n){ ????????return true; ????????}else{ ????????return false ????????}}
Null与Undefined区别
相同点:在if判断语句中,都会转换为false
不同点:转换为Number类型,null为0,undefined为NaN ? ? ? ? ? ? ? null表示一个值定义了,但是赋了空值;undefined表示定义了,没有赋值
闭包函数的特性?
????????闭包可以理解成定义在一个函数内部的函数,当其中一个内部函数在包含他们的外部函数之外被调用时,就会形成闭包。
写法:
let fun = (function(){ var count=0; return function(){ return ++count; }})()
闭包的本质:
????????外层函数嵌套一个内层函数,在子函数中操作局部变量,将子函数作为父函数的返回值,通过一个全局变量绑定父函数的返回值,从而延长了子函数以及局部变量的生命周期,实现了可以在函数外部操作函数内部的局部变量
特点:
- 函数嵌套函数
- 函数内部可以引用外部的参数和变量
- 参数和变量不会被垃圾回收机制回收
用处:
- 读取函数内部的变量;
- 这些变量的值始终保持在内存中,不会在外层函数调用后被自动清除
缺点:
|