理论部分
- JavaScript 定义了几种数据类型? 哪些是简单类型?哪些是复杂类型?
- NaN、undefined、null分别代表什么?
- typeof和instanceof的作用和区别?
A:
JavaScript有七种内置类型,为别为
- 空值(null)
- 未定义(undefined)
- 布尔值 (boolean)
- 数字 (number)
- 字符串 (string)
- 对象 (object)
- 符号 (symbol, ES6新增)
这里除了对象之外,其他统称”基本类型“(这里有一个疑惑,以前看到文章中说js中一切都是对象,当时没有把这句话和数据类型结合起来,现在看起来这句话好像有问题。引用《JavaScript语言精粹》一句话:”数字,字符串和布尔值‘貌似’对象,因为它们拥有方法,但他们是不可变的。js中的对象是可变的键控集合”。而且这句话后面还有一句话:”js中,数组是对象,函数是对象,正则表达式是对象,当然,对象自然也是对象“)
A:
NaN意为”不是一个数字“。如果数学运算的操作数不是数字类型(或者无法解析为常规的十进制 )用于指出数字类型中错误情况,即”执行数学运算没有成功,这是失败后返回的结果“
undefined 变量在未持有值的时候为undefined.在作用于中声明但还没赋值的变量,这里其实有个小trick,undefined和is not defined是两回事。但是typeof对于not defined的变量的结果照样返回”undefined“
null指空值。指曾赋过值,但是目前没有值。
A:
typeof操作符返回一个字符串,指示未经计算的操作数的类型。
instanceof运算符用于测试一个对象在其原型链中是否存在一个构造函数的prototype属性。
instanceof操作符未能理解,所以并不知道这两者的区别。
代码部分
- 一
A:
function isNumber (element) {
return typeof element ==='number';
}
- 二
- 2
- "24"
- "24"
- 4
- 三
- 3
-"number2" - 四
- undefined
- 1
- b is not defined
网友评论