1、JS 中使用 typeof 能得到哪些类型?
JS的数据类型及特性:
JS中的数据类型有:Number Boolean undefined Object Function String Null
其中,基本类型有:Number Boolean String undefined null,存放在栈内存中
引用类型有:Object Function,存放在堆内存中。
基本类型在栈内存中开辟一个新的存储区域,存储变量。引用类型在栈内存中存储了一个指针,这个指针指向堆内存中该对象的存储地址。复制的过程是把该对象的地址复制给了另一个对象变量,两个指针都指向同一个对象,所以若其中一个修改,则另一个也会改变。
使用 typeof 可以得到 undefined String Number Boolean Object Function 六种类型 ES6 symbl类型
2、何时使用 === 何时使用 == ?
100 == ‘100’ 0 == ‘’ null == undefined //true
使用 == 有以下两种情况:
a. 判断对象的属性是否存在
var obj = {}
if (obj.a == null) {
// 这里相当于 obj.a === null || obj.a === undefined 的简写形式
// 这是jquery源码中推荐的写法
}
b. 函数的参数是否存在
function fn(a, b) {
if (b == null) {
// 这里相当于 b === null || b === undefined 的简写形式
}
}
在 JS 的 if 判断中 false、0、NaN、 ''、undefined、null 会被转换成false
3、JS 中有哪些内置函数?
抛开运行环境,JS的内置函数有:Object Array Boolean Number String Function Date RegExp Error
4、JS 变量按照存储方式区分为哪些类型,描述其特点
JS按照存储方式分为基本类型和引用类型。
基本类型有:Number Boolean String undefined null,存放在栈内存中
引用类型有:Object Function,存放在堆内存中。
基本类型在栈内存中开辟一个新的存储区域,存储变量。引用类型在栈内存中存储了一个指针,这个指针指向堆内存中该对象的存储地址。复制的过程是把该对象的地址复制给了另一个对象变量,两个指针都指向同一个对象,所以若其中一个修改,则另一个也会改变。
5、如何理解 JSON
JSON是一个 JS 对象,常用对象 JSON.stringify(json) 把JSON 转换成字符串, JSON.parse(str) 把字符串转换成 JSON 对象