ES 知识点补充、复习题讲解
1.知识点补充
(1)属性的可配置性和不可配置性
在全局 window 里,一旦经历了 var 的操作所得出的属性,这种属性叫做不可配置的属
性,不可配置的属性,delete 不掉。
解释:比如 var num = 123,你 delete num 就是 false,delete window.num 也是 false,
因为你在前边 var 了,他就是不可配置的属性。再比如 var obj = {},obj.num = 123,
delete num 就是 true,还有 window.num = 123,delete window.num 也是 true。记住
有 var 的话就成了不可配置性属性,delete 不掉,没有 var 的话就是可配置的。
(2)引用值的类型转换
引用值的类型转换比较复杂,以后基本用不上,我们不做深入的研究,这里只写几个
特殊的:[] + “”= “”; [] + 1 = “1”; [] – 1 = -1; Number([]) = 0;{} + 1 = 1;Number({})
= NaN; 哎呀,这里边的东西太恶了,我们也没必要去深入研究,你对象加一干嘛啊?
减一干嘛啊?一天闲的,一点儿用都没有哈。你只需要知道[] == []是 false,因为引
用值比的是地址,他俩指向两个不同的房间,所以是 false,[] === []也是 false。
其他的就不用考虑了。
2.复习题讲解
练习 1:(微店笔试题)
(function (x) {
delete x;
return x;
}(1))
解析:这个题特别简单,形参是 x 就相当于 var x,既然 var 了就删除不了,所以返回
1.
练习 2:(微店笔试题)
function test()
{
console.log(typeof arguments);
}
test();
解析:object。
练习 3:(微店笔试题)
var h = function a() {
return 23;
}
console.log(typeof a());
解析:这道题会报错,这是一个函数表达式,所以那个 a 就跟没写一样,那就执行不
了 a,所以会报错。