1. JavaScript数据类型题目
1.1. JavaScript数据类型有几种?详细说明
- 原始类型(undefined null boolean string number symbol)
- 引用类型(object)
1.2. JavaScript判断一个值是什么类型有几种方式,分别是什么?
- 原始类型可以用typeof
- instanceof
- Object.prototype.toString.call(variable)
1.3. JavaScript typeof的返回值有几种?分别说明
只能区分值类型,不能区分引用类型,能区分出函数来。
表达式 | 值 |
---|---|
typeof undefined | 'undefined' |
typeof 'aaa' | 'string' |
typeof 123 | 'number' |
typeof true | 'boolean' |
typeof console.log | 'function' |
typeof {} | 'object' |
typeof [] | 'object' |
typeof null | 'object' |
1.4. JavaScript null和undefined的区别
- undefined表示一个变量声明了,但是还没初始化
- null表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象
1.5. JavaScript 值为undefined的几种情况
- 变量被声明,但是还没初始化
- 在JS的严格模式下(”use strict”),没有明确的主体,this指的就是undefined。
- 函数定义没有返回值(return或者return后面什么也不),默认的返回值就是undefined。
- 函数定义形参不传值,默认就是undefined。
- 对象没有这个属性名,属性值默认就是undefined。
- 在数组的find方法中,没有找到的情况下是undefined。
1.6. JavaScript 值为null的几种情况
- 手动设置变量的值或者对象某一个属性值为null(此时不赋值,会在后面的代码中进行赋值,相当于初始化。)
- 在JS的DOM元素获取中,如果没有获取到指定的元素对象,结果一般是null。
- Object.prototype.proto的值也是null。
- 在正则捕获的时候,如果没有捕获到结果,默认也是null。
1.7. JavaScript 哪些值会被转化成false
表达式 | 值 |
---|---|
Boolean(0) | false |
Boolean("") | false |
Boolean(false) | false |
Boolean(undefined) | false |
Boolean(null) | false |
Boolean(NaN) | false |
Boolean([]) | true |
Boolean({}) | true |
[] === [] | false |
[] == false | true |
![] == false | true |
1.8. 为什么 Boolean([])返回true
JavaScript中所有的对象都是true。
![] == false // true
1.9. [] == false 返回true
因为在比较之前,两边先转化成相同类型的。这里转化成number
1.10. Number转化
表达式 | 值 |
---|---|
Number([]) | 0 |
Number(false) | 0 |
网友评论