任何人能解釋一下叫什麼hasOwnProperty對空對象呢?爲什麼要使用它?你如何使用hasOwnProperty?
__hasProp = {}.hasOwnProperty
我發現這個時候,我開始在coffescript開發..泰
任何人能解釋一下叫什麼hasOwnProperty對空對象呢?爲什麼要使用它?你如何使用hasOwnProperty?
__hasProp = {}.hasOwnProperty
我發現這個時候,我開始在coffescript開發..泰
hasOwnProperty
是不調用。函數名稱後沒有括號。
__hasProp
爲參考到Object.prototype.hasOwnProperty
[MDN]因爲
__hasProp = {}.hasOwnProperty
是
__hasProp = Object.prototype.hasOwnProperty
較短版本現在調用__hasProp
,例如在
__hasProp.call(someObject, 'foo')
是米UCH更短,更易於閱讀比
Object.prototype.hasOwnProperty.call(someObject, 'foo')
我公司成立時,我開始coffescript的發展。
所以,我認爲是自動生成的這條線,你可能會奇怪爲什麼創建一個快捷方式,如果沒有人實際上有寫代碼?
有了這個功能分配給一個變量避免了查找你想用的時候就Object
,Object.prototype
和Object.prototype.hasOwnProperty
。 __hasProp
只是一個查詢,而不是三個,並且經常使用時,可能會導致輕微的性能提升。
瞭解,+1 thx :) – 2013-02-22 22:41:54
沒有咖啡解析器將它添加到生成的代碼?看起來它只是做一個簡短的參考。 – 2013-02-22 21:22:46
'hasOwnProperty'是標準的JavaScript。 https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/hasOwnProperty – Marc 2013-02-22 21:23:53
我覺得這是一個大的離奇,但它的作用是基本對象的'hasOwnProperty'方法複製到一個命名變量'__hasProp'。也許這是因爲名字較短? – 2013-02-22 21:24:08