[英]JavaScript Object and Primitive
请我让某人为我解释以下代码:
var f = new Number(44);
f.name = "Yusuf";
f.hello = function() {
console.log("Hello");
};
console.log(typeof f);
f.hello();
console.log(f.name);
console.log(f.toString() + "good");
console.log(Object.prototype.hasOwnProperty(name));
console.log(f.hasOwnProperty(hello));
console.log(f.length);
当我检查变量类型时。 对象得到返回,我确定这是由于Number对象构造函数调用函数引起的。 我添加了两个属性,一个是成员,一个是方法,当我调用它们时,它可以工作,但是当我使用hasOwnProperty()时,成员键返回false,方法键未定义。
为什么会这样呢?
如果hasOwnProperty在我实际上正在检查包含对象的属性时应该去往哪里,该方法将去哪里?
我检查了数字和对象对象,它们都返回false。
hasOwnProperty
方法将属性键作为字符串:
console.log(Number.prototype.hasOwnProperty("name"));
console.log(Object.prototype.hasOwnProperty.call(f, "name"));
console.log(f.hasOwnProperty("name"));
console.log(f.hasOwnProperty("hello"));
我建议始终"use strict"
模式,以便在尝试使用未声明的变量时出现异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.