面试中遇到的笔试题
1、
(function(x){
delete x
return x
})(1)
答案:1,IIFE立即执行函数,delete删除的x不是传入的参数x,return返回的是入参的值。
2、[] == ![]
答案:true,先转换再比较,![]会变成false,false会变成0,
==在进行比较前,如果有一侧是数字,会将另一侧也转化为数字,才会进行比较,
即比较[]==0,而Number([])=0,所以0==0的值为true
3、{} == !{}
答案:false,!{}是false,然后比较{}==fasle,又Number({})=NaN,NaN==0就为false
4、[].constructor == [].constructor.prototype.constructor
答案:true
5、
var CSSer = new Object();
var a = function(o){
o.url = "www.baidu.com"
o = new Object;
o.url = "www.sohu.com"
}
a(CSSer)
CSSer.url
答案:"www.baidu.com",红宝书P71内容,函数内部的局部变量,会在函数执行完毕后立即销毁。