在Node.js REPL中,如果鍵入String.prototype
,則返回空對象:{}
。但是,如果您在Chrome瀏覽器JavaScript控制檯中輸入該對象,則會返回一個包含期望的函數名稱和函數的對象。查看Node.js的方法String.prototype?
爲什麼Node.js不會出現這種行爲?我如何訪問Node.js中的本地String函數?
在Node.js REPL中,如果鍵入String.prototype
,則返回空對象:{}
。但是,如果您在Chrome瀏覽器JavaScript控制檯中輸入該對象,則會返回一個包含期望的函數名稱和函數的對象。查看Node.js的方法String.prototype?
爲什麼Node.js不會出現這種行爲?我如何訪問Node.js中的本地String函數?
據對FreeNode的/#的IRC用戶Node.js的
BennyLava:Object.getOwnPropertyNames(String.prototype)
jmar777:因爲在REPL你基本上得到調用
toString()
的結果在結果上,而鍍鉻控制檯有對象BennyLava的一些花哨的交互顯示:他們只是不可枚舉
所以答案是Object.getOwnPropertyNames(String.prototype)
。
您可以使用node-inspector來獲得Node的Inspector體驗。
真的嗎?記錄一個對象工作正常 - 你不會把'[object Object]'作爲一個字符串。 – pimvdb
@pimvdb呵呵,關於jmar777的評論?雅,我認爲這與他們不可枚舉的事實有關,這就是他們不出現的原因。 –
@pimvdb:這是因爲'console.log' [不只是輸出參數的'toString'](https://github.com/joyent/node/blob/v0.8.9/lib/util.js#L23) 。 – josh3736