javascript - hasOwnProperty - 即使拥有该属性也不会显示属性

标签 javascript object prototype hasownproperty

我试图理解为什么当我调用下面的函数时结果是“否”,因为属性 c 应该存在。有谁知道为什么?谢谢!!!

var letters = function() {
    this.a = 5;
    this.b = 20;
  };

  letters.prototype = {
    c: 10
  };

  var letters = new letters();

function looping(obj){
if (obj.hasOwnProperty(this.c)) {
console.log("ua");
}
else {
    console.log("no");
}
}

循环(字母);

最佳答案

“拥有自己的属性(property)”c尽管。 c是其原型(prototype)的一部分,因此它不是您正在测试的对象自己的属性。

至少,如果您调用obj.hasOwnProperty('c'),答案就是这样的。正如你可能想要的那样。您实际调用的是obj.hasOwnProperty(window.c) ,即obj.hasOwnProperty(undefined) ,这显然是false .

关于javascript - hasOwnProperty - 即使拥有该属性也不会显示属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37216210/

相关文章:

javascript - localstorage刷新页面保存

javascript - 如何在使用 lodash 省略空值的同时合并两个对象

javascript - jQuery 喜欢内联语法而不使用 jQuery?

javascript - 在 Jquery 中创建多数组给出错误

以枚举值作为参数的 Javascript 构造函数

javascript - 如何正确地将 jQuery 插件导入 Node.JS?

Javascript:优化具有多种颜色的大文本的插入

javascript - 未捕获的 TypeError : $(. ..).multiselect 不是函数

javascript - 无法在字符串 '_canInitEmulator' 上创建属性 'namangarg802@gmail.com'

java - 如何在不重置参数值的情况下引用构造函数