簡體   English   中英

JavaScript對象和基元

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM