1.js基本数据类型
字符串 string 数值 number 布尔 boolean null undefined 对象 数组
2.Ajax如何使用
一个完整的Ajax请求包括5个步骤:
- 创建XMLHTTOPRequest对象
- 使用open方法创建http请求,并设置请求地址xhr.open(get/post,url,async,true(异步),false(同步))经常使用前三个参数
- 设置发送的数据,用send发送请求
- 注册事件(给ajax设置事件)
- 获取响应并且更新页面
3.如何判断一个数据是NaN
NaN非数字 但是用typeof检测是number类型
利用NaN的定义,用typeof判断是否为number类型并且判断是否满足isnan
利用NaN是唯一一个不等于任何自身的特点 n !== n
利用ES6中提供的Object.is()方法(判断两个值是否相等) n == NaN
- js中null与undefined区别
相同点:用if判断时,两者都会被转化为false
不同点:number转换的值不同number(null)为0
number(undefined)为NaN
undefined变凉声明但是未赋值
4.闭包是什么?有什么特性?对页面会有什么影响?
闭包可以简单理解成:定义在一个函数内部的函数。其中一个内部函数在包含它们的外部函数之外被调用时,就会形成闭包。
特点:
- 函数嵌套函数
- 函数内部可以引用外部的参数和变量
- 参数和变量不会被垃圾回收机制回收
使用:
- 读取函数内部的变量
- 这些变量的值始终保存在内存中,不会在外层函数调用后被自动清除
优点:
- 变量长期驻扎在内存中
- 避免全局变量的污染
- 私有成员的存在
缺点:
- 会造车内存泄漏