[英]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.