首页 新闻 会员 周边

javascript权威指南的一些错误?

0
悬赏园豆:20 [已解决问题] 解决于 2013-09-02 22:46

原版71页

If both values are null or both values are undefined, they are equal.

译版75页

如果两个值都是null或者都是undefined,则它们不相等。

====================================================

原版84页

var a = [1,2,3]; // Start with an array
delete a[2]; // Delete the last element of the array
a.length // => 2: array only has two elements now

译版88页

var a = [1,2,3]; // 定义一个数组
delete a[2]; // 删除最后一个数组元素

2 in a;//=>false:元素2在数组中已经不存在了
a.length // => 3:注意,数组长度并没有改变,尽管上一行代码删除了这个元素,但删除操作留下了一个“洞”,实际上并没有修改数组的长度,因此a数组的长度仍然是3

祥龙福虎dx的主页 祥龙福虎dx | 初学一级 | 园豆:161
提问于:2013-09-01 23:54
< >
分享
最佳答案
0

首先针对第二个:长度还是3,亲试,删除前a是[1,2,3],删除后会变成[1,2,undefined]。

再来看第一个:我们先设一个数组未[1,,3],在这个数组中a[1]=undefined,再对a[2]=null;

此时数组未为[1,undefined,null]. 

                    进行检测a[1]==a[2](undefined==null)返回ture

                                a[1]===a[2](undefined===null)返回false,原因不用我多说相信你也知道。

收获园豆:20
挨踢男.Orz | 菜鸟二级 |园豆:387 | 2013-09-02 10:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册