我尝试了以下代码,并惊讶地发现 for var in object 也返回对象方法。 我不确定为什么会发生这种情况,对象方法本质上是属性吗? 有没有办法让它只返回包含值的属性?
var object = {p1: 1, p2: 2, p3: 3};
object.funkcja = function() {
for (var x in object) {document.getElementById("test").innerHTML += object[x] + "<BR>";}
};
示例:
最佳答案
我认为这是正确的方法:
for (var x in object) {
if(object.hasOwnProperty(x) && !(object[x] instanceof Function) ){
document.getElementById("test").innerHTML += object[x] + "<BR>";
}
}
关于javascript - 对于对象中的 var,返回方法和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25077682/