使用forEach枚举属性和值
Enumerating properties and values using forEach
以下代码不枚举属性&网页上CCD_ 1构造函数的值。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
window.onload = myfunc;
function myfunc(){
window['Object']['getOwnPropertyNames'] (window['Array'])['forEach'](function(val){
document.write(val + ": " + Array[val] + "<br />" );
});
}
}
</script>
</head>
<body>
</body>
</html>
传递给forEach
的参数有问题吗?
不,参数很好,您有一个额外的}
右括号。
window.onload = myfunc;
function myfunc(){
var x = "";
window['Object']['getOwnPropertyNames'] (window['Array'])['forEach'](function(val){
x += val + ": " + Array[val] + "<br />" ;
});
document.write(x);
}
我希望你知道document.write
将取代整个文件。此外,我已经在变量x
中附加了您想要打印的任何内容,您可以使用此x
来显示输出。
使用Object.getOwnPropertyNames(Array);
将是更好的
但是如果要坚持你的方法那么:
window['Object']['getOwnPropertyNames'] (window['Array'])['forEach'](function(val){
console.log(val);
});
您有一个额外的}
-
你的代码中有一个额外的右大括号,当你修复代码的缩进时,你可以更容易地看到:
} </script>
-
您可以直接使用窗口对象,不需要
window['propertyName']
。window['Object']['getOwnPropertyNames'](...) // is the same as Object.getOwnPropertyNames(...)
-
您可能希望使用
Array
0对返回的结果调用方法,而不是['forEach']
:Object.getOwnPropertyNames(window).forEach(function (propName) { console.log('In global window scope: ', propName); });
相关文章:
- 不可枚举的属性出现在 for..在 Chrome 中循环
- JSON.stringify未序列化可枚举属性
- Javascript不可枚举属性
- 如何更改 Javascript 对象属性的可写可枚举和可配置值
- 无法在 javascript 中枚举对象的所有属性
- 枚举本地存储属性
- 为什么在枚举属性/函数时键长度不准确
- 遍历所有不可枚举属性的任意方法
- 断言对象上存在可枚举属性
- 在默认情况下将可枚举设置为 false 的 JS 中创建对象属性的其他方法是什么
- 使用 Object.create 时无法枚举属性
- javascript defineProperty 使属性不可枚举
- 在 TypeScript 中从 DOM 属性转换为枚举
- 对不可枚举属性进行迭代
- 为什么我可以设置不可确定属性描述符的[可枚举性和]可写性
- 制造错误'的消息属性可枚举
- 使用forEach枚举属性和值
- 如何在IE8的JavaScript中添加不可枚举属性
- 禁用JavaScript中没有ECMAScript 5的属性枚举
- IE8属性枚举替换的内置属性(例如:“toString”)