Ric*_*tta 2 javascript class coffeescript
任何人都能解释一下hasOwnProperty在空对象上调用了什么吗?为什么要用它?
__hasProp = {}.hasOwnProperty
Run Code Online (Sandbox Code Playgroud)
当我开始用coffescript开发时,我发现了这一点.Ty
hasOwnProperty是不是叫.函数名后没有括号.
__hasProp是[MDN]的参考,因为Object.prototype.hasOwnProperty
__hasProp = {}.hasOwnProperty
Run Code Online (Sandbox Code Playgroud)
是一个较短的版本
__hasProp = Object.prototype.hasOwnProperty
Run Code Online (Sandbox Code Playgroud)
__hasProp现在打电话,例如在
__hasProp.call(someObject, 'foo')
Run Code Online (Sandbox Code Playgroud)
比它更短更容易阅读
Object.prototype.hasOwnProperty.call(someObject, 'foo')
Run Code Online (Sandbox Code Playgroud)
当我开始开发coffescript时,我创立了.
所以我假设这一行是自动生成的,你可能想知道为什么创建一个快捷方式,如果没有人真的必须编写代码?
将此函数分配给变量可以避免必须查找Object,Object.prototype并且Object.prototype.hasOwnProperty每次都要使用它.__hasProp只是一次查找,而不是三次查找,并且在经常使用时可能会导致轻微的性能提升.
| 归档时间: |
|
| 查看次数: |
899 次 |
| 最近记录: |