MooTools 1.5.2 探索 typeOf 和 instanceOf
MooTools 1.5.2 exploring typeOf and instanceOf
我决定探索 MooTools javascript 核心文件以了解此类 javascript 框架的工作原理,不幸的是 javascript 中有很多东西让我很困惑,因为我不不知道为什么要那样做特定的功能。
在 MooTools Core javascript 文件的开头我看到了两个函数:typeOf 和 instanceOf。不明白这两行代码的用途:
var typeOf = this.typeOf = function(item){
var instanceOf = this.instanceOf = function(item, object){
为什么将函数分配给 typeOf 变量和 this.typeOf,为什么不只分配给 var typeOf 或 this.typeOf?同样的事情是 instanceOf.
如果有人能解释为什么将函数分配给变量和全局对象有什么好处,我将不胜感激?我明白它是如何工作的,但我就是不明白为什么需要这样做。
做 var typeOf = this.typeOf
有 3 个目的。一是在文件中使用一个小变量名并避免一直使用 this.typeOf
,第二个也是更重要的是避免在 this
是其他东西的范围内混淆范围。第三个目的,使用this.typeOf
是将其导出到你所在的范围,MooTools导出到全局,即浏览器中的window
对象。
函数 .typeOf
是 described in the docs,您可以将其视为比原生 typeof
更有用的方法。看看这些差异:
在 MooTools 中:
typeOf([]) // gives you "array"
typeOf({}) // gives you "object"
typeOf(document.createElement('div')) // gives you "element"
原生 JavaScript
typeof [] // gives you "object"
typeof {} // gives you "object"
typeof document.createElement('div') // gives you "object"
所以 MooTools 给出了更有价值的结果。在 .instanceOf()
.
中可以找到类似的行为
我决定探索 MooTools javascript 核心文件以了解此类 javascript 框架的工作原理,不幸的是 javascript 中有很多东西让我很困惑,因为我不不知道为什么要那样做特定的功能。
在 MooTools Core javascript 文件的开头我看到了两个函数:typeOf 和 instanceOf。不明白这两行代码的用途:
var typeOf = this.typeOf = function(item){
var instanceOf = this.instanceOf = function(item, object){
为什么将函数分配给 typeOf 变量和 this.typeOf,为什么不只分配给 var typeOf 或 this.typeOf?同样的事情是 instanceOf.
如果有人能解释为什么将函数分配给变量和全局对象有什么好处,我将不胜感激?我明白它是如何工作的,但我就是不明白为什么需要这样做。
做 var typeOf = this.typeOf
有 3 个目的。一是在文件中使用一个小变量名并避免一直使用 this.typeOf
,第二个也是更重要的是避免在 this
是其他东西的范围内混淆范围。第三个目的,使用this.typeOf
是将其导出到你所在的范围,MooTools导出到全局,即浏览器中的window
对象。
函数 .typeOf
是 described in the docs,您可以将其视为比原生 typeof
更有用的方法。看看这些差异:
在 MooTools 中:
typeOf([]) // gives you "array"
typeOf({}) // gives you "object"
typeOf(document.createElement('div')) // gives you "element"
原生 JavaScript
typeof [] // gives you "object"
typeof {} // gives you "object"
typeof document.createElement('div') // gives you "object"
所以 MooTools 给出了更有价值的结果。在 .instanceOf()
.