簡體   English   中英

如何檢查節點REPL中的默認對象屬性

[英]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.constructorRabbit.prototype["constructor"]會適當地提供此信息。

>> Rabbit.prototype
   {}

a)如何查看這些默認屬性,例如constructorhasOwnPropertytoStringvalueOf等? 在使用控制台的 瀏覽器中 ,我得到了一個不錯的下拉列表。 我期待為此的某種dir命令。

b)當我在控制台中啟動Rabbit.prototype時,為什么沒有顯示inherited屬性? 是否因為我們只想顯示用戶添加的內容而期望?

c)它們實際在哪里定義ObjectFunction

編輯:-似乎這些都添加到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.

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