JS中的类型

来源:互联网 发布:3钻淘宝店铺卖多少钱 编辑:程序博客网 时间:2024/06/09 19:16

JS中有七大数据类型:null,undefined,number,string,object,boolen,symbol(es6新加入)

1.使用typeof 运算符 (所以其后的变量最好不用括号括起来) 来查看类型时,有四个特殊情况:

①typeof null 的结果是 “object”,而不是七大类型中的null,这是由来已久的bug

②typeof  function a () {...} 的结果是“function”,但function不是js中的七大数据类型,只是Object的一个子类型,按理应该输出object,但输出function 也无可非议,更精确了而已

③typeof [1,2,3] 的结果是“object”,这没错,数组也不是js中的七大数据类型,数组是Object的子类型,所以输出Object是对的

④对于没有声明的变量,比如typeof b ,结果也是“undefined”,而不是“undeclared”

2.js中变量没有类型,值才有类型!!

3.typeof的安全防范机制

对于一个没有声明的变量a,执行下面的语句会报错:

if(a){  ...}

为了避免由于疏忽产生的这种问题,最好采用以下代码:

if(typeof a === "undefined") {    ....}

这就是由于typeof 的保护机制,即使对没有声明的变量使用typeof也不会报错ReferenceError,也就不会阻止程序执行。(访问不存在的对象属性也不会报错)