var arr = [];
arr[0] = 0;
arr[1] = 1;
arr.foo = 'c';
console.log(arr.length)
运行结果为2,当时我想会报错,结果错了,数组的实例本身也是一个对象,可不要忘记typeof ary
的结果可是object
的,arr.length可以认为是arr的属性,那么同理,arr.foo也可以认为是给arr添加了一个属性foo,这个属性的值为’c’
var obj = {};
obj.log = console.log;
obj.log.call(console, this); //window对象
在这个题目中就算把,console换成obj,null等,结果都是widow对象,因为调用call中传递的this本身就是window
1 == true //true
undefined==null //true