[英]How to inspect the default object properties in the Node REPL
我正在使用Node REPL。 當我們在這里定義一個constructor
函數時,如下所示:
function Rabbit() { }
它是prototype
對象,即Rabbit.prototype
具有constructor
屬性,可以這樣引用:
>> Rabbit.prototype.constructor
[Function: Rabbit]
該constructor
屬性未在Rabbit.prototype
對象中列出,但是執行Rabbit.prototype.constructor
和Rabbit.prototype["constructor"]
會適當地提供此信息。
>> Rabbit.prototype
{}
a)如何查看這些默認屬性,例如constructor
, hasOwnProperty
, toString
, valueOf
等? 在使用控制台的 瀏覽器中 ,我得到了一個不錯的下拉列表。 我期待為此的某種dir
命令。
b)當我在控制台中啟動Rabbit.prototype
時,為什么沒有顯示inherited
屬性? 是否因為我們只想顯示用戶添加的內容而期望?
c)它們實際在哪里定義Object
或Function
?
編輯:-似乎這些都添加到Object.prototype
。 參考:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype
也,
>> Object.getOwnPropertyNames(Object.prototype)
[ 'constructor',
'toString',
'toLocaleString',
'valueOf',
'hasOwnProperty',
'isPrototypeOf',
'propertyIsEnumerable',
'__defineGetter__',
'__lookupGetter__',
'__defineSetter__',
'__lookupSetter__' ]
我們是否需要通過在每個對象上應用Object.getOwnPropertyNames
來遍歷原型鏈,以列出擁有的和繼承的對象?
問候。
是的,它需要通過應用Object.getOwnPropertyNames()
來獲得非枚舉屬性列表,從而使prototype chain
向下移動。 從這里得到它:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.