length 属性可设置或返回数组中元素的数目。
第一题
var arr = [];
arr[0] = 'a';
arr[1] = 'b';
arr.foo = 'c';
arr.name = "zs"
alert(arr.length); // arr = ["a", "b", foo: "c", name: "zs"]
- 1
- 2
- 3
- undefined
答案:2
解析:数组的原型是 Object,所以可以像其他类型一样增加属性,但是不影响其固有性质。arr.foo 和 arr.name 不算在 arr.length 中。
第二题
function foo(){}
delete foo.length;
alert(typeof foo.length);
- number
- undefined
- object
- Error
答案:number
解析:foo.length 是无法删除的,它在 Function 原型上,重点它的configurable(配置)是false(不可更改的)。