var a=[5,6]; var b = a; b[0] = "hello"; alert(a[0]); 这道面试题的 输出结果是"hello",各位大神可能觉得很简单,但是我觉得对我一个彩笔来讲的话
var a=[5,6];
var b = a;
b[0] = "hello";
alert(a[0]);
这道面试题的 输出结果是"hello",各位大神可能觉得很简单,但是我觉得对我一个彩笔来讲的话,分析下还是有必要的. a 是一引用类型, 然而这个b 又接收了a 的指针,紧接着 b做了一件事,它把这个数组的第0项给修改了.也就是把"5"给替换成了"Hello",所以输出结果就改变了,然而乍一眼一看我还以为是"5".呵呵了
var a = [];
a[0]=0;
a[1]=1;
a[4]=4
问的是 a.length的值是多少,a[3]的值是多少.
答案是这个数组的长度是5, a[3]的值是undefind,也就是说你平白无故给数组的第四项赋值,它之间会自动的插入undefined 的,所以返回值是undefined