javascript - 阐明我对一些 JavaScript 的理解

标签 javascript

我正在阅读一本关于函数式 javascript 的书。在那本书中,有以下代码:

const forEachObj = (obj,fn) =>{
    for(let prop in obj){
        if(obj.hasOwnProperty(prop)){
            fn(prop,obj[prop]);
        }
    }
};

我将此理解为遍历对象的每个属性,然后询问该对象是否具有该属性,然后运行提供的函数。

我不明白 if 是如何做任何事情的。它不会永远是真的吗?不就是问从obj得到的prop是不是obj的属性吗?

最佳答案

来自MDN

The hasOwnProperty() method returns a boolean indicating whether the object has the specified property as its own property (as opposed to inheriting it).

许多属性(例如 toString)是继承的,但在检查对象上定义的键时,您可能不想迭代这些属性。

关于javascript - 阐明我对一些 JavaScript 的理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54874265/

相关文章:

javascript - ASPX 形式的错误消息和验证数据

javascript - 页面完全加载后重定向到链接页面

javascript - 在这种情况下,正确的 javascript 语法应该是什么?

javascript - 如何通过 AJAX 调用 HTML - Elgg?

php - 如何保持wordpress中音乐播放器的一致?

php - CodeIgniter 不调用 js 文件

javascript - 意外 token : on compressing js file

javascript - 在 Angular 2/Typescript 中使用 IScroll

javascript - 从字符串中提取日期和时间

javascript - 选择后如何防止关闭菜单?