javascript面试指南一(js数据类型,==和===的区别 )

我搜集很多关于js基础的面试题,和大家分享一下祝大家面试成功

 

Q1,javascript 数据类型有哪些?

不要小看这么问题哦,这个问题很不起眼但是又很难回答

我推荐的答案来自于《javacript语言精髓》

 

JavaScript的简单类型包括数字、字符串、布尔值(true和false)、null值和undefined值。其他所有的值都是对象。数字、字符串和布尔值“貌似”对象,因为它们拥有方法,但它们是不可变的。JavaScript中的对象是可变的键-值集合(keyed collections)。在JavaScript中,数组是对象,函数是对象,正则表达式是对象,当然,对象自然也是对象。 

Q2,==和===的区别

简单来说, 分三张种情况,第一种 两边一个是复杂类型一个是简单类型,无论==还是===都为false

第二种情况两遍都是复杂类型,无论==还是===,如果他俩不是来自于同一个对象,即使里面内容一模一样,也是false,

比如说{id:1}=={id:1} //false

{id:1}=={id:1} //false

除非来自同一个对象比如

var a={id:1} ;

var c=a;var b=a;

a==b //true

a===b //true

第三种情况

两边都是简单类型,这个时候==和===不同了,==会把两边变成同一个类型 在比较,比如说

1=='1' //true

1==='1'//false

posted @ 2015-01-23 12:01  兔子排骨  阅读(183)  评论(0)    收藏  举报