为什么我的函数没有列出数组的所有属性但是在ob上?

时间:2017-11-13 19:40:22

标签: javascript

这是代码。我的函数不能在对象Array上工作,但在我的对象ob上使用对象文字定义。

function all_properties(object) {
	var value = "[";
	for (var prop in object) {
		
			value += '"' + prop + '"' + ","
	}
	value = value.slice(0,-1);
	value += "]";
	return value;
}

var ob = {first: 1, second: function () {}, third: function () {}}
console.log(all_properties(ob))
console.log(all_properties(Array))

1 个答案:

答案 0 :(得分:6)

与大多数内置对象一样,Array构造函数(不是数组)的属性标记为non-enumerable,因此for in不会看到它们。

使用Object.getOwnPropertyDescriptors()查看所有属性。