javascript - 对于对象中的 var,返回方法和属性

标签 javascript object for-in-loop

我尝试了以下代码,并惊讶地发现 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/

相关文章:

javascript - 在基于 Vert.x 的应用程序中将从服务器接收到的数据传递给浏览器

javascript - 按钮没有响应 JQuery 的点击

javascript - HTML 元素的本地 id-s

javascript - javascript 如何为函数和数组等对象创建替代语法?

javascript - 功能未被识别为功能?

javascript - 创建新对象时出现问题

java - 请求基类中的方法

javascript - for-in 循环在后续执行中是否以相同的顺序迭代?

javascript - 为什么对象点表示法在 for...in 循环中不起作用?

c - 带有循环的 Swift 3.1 模式