“”是什么意思?
我试图调查的jQuery代码,所以我用这个:
document.write($.constructor);
的jsfiddle
我得到了这个结果:
function Function() { [native code] }
[native code]
是什么意思? 为什么我看不到真正的代码?
使用Google-Chrome
testing
$
, jQuery
只是一个函数。 没有调用它,这只是一个普通的function。 函数的构造函数是Function
,因此$.constructor
显示[native code]
。
当你用解释型语言(而不是编译语言)来定义函数的时候。 您可以访问定义该function的文件/string/文本。
例如,在JavaScript中,您可以阅读您定义的函数的定义正文。
如果您尝试对JavaScript中包含的函数执行相同的操作,则不会将其作为文本实现,而会以二进制forms实现。 没有理由显示实现该function的二进制代码,因为它不可读,甚至可能不可用。
jQuery扩展了默认的JavaScript行为。 这就是它被高度赞赏和称赞的原因之一,而不是Prototype.js。 Prototype 改变了JavaScript的自然行为,当使用Prototype和其他一些依赖正常function的代码时,可能会产生不一致。
TL;博士:
jQuery扩展了JavaScript,使用本地代码实现了function(性能明智是件好事)。