“”是什么意思?

我试图调查的jQuery代码,所以我用这个:

document.write($.constructor); 

的jsfiddle

我得到了这个结果:

 function Function() { [native code] } 

[native code]是什么意思? 为什么我看不到真正的代码?

使用Google-Chrometesting

$jQuery只是一个函数。 没有调用它,这只是一个普通的function。 函数的构造函数是Function ,因此$.constructor显示[native code]

当你用解释型语言(而不是编译语言)来定义函数的时候。 您可以访问定义该function的文件/string/文本。

例如,在JavaScript中,您可以阅读您定义的函数的定义正文。

如果您尝试对JavaScript中包含的函数执行相同的操作,则不会将其作为文本实现,而会以二进制forms实现。 没有理由显示实现该function的二进制代码,因为它不可读,甚至可能不可用。

jQuery扩展了默认的JavaScript行为。 这就是它被高度赞赏和称赞的原因之一,而不是Prototype.js。 Prototype 改变了JavaScript的自然行为,当使用Prototype和其他一些依赖正常function的代码时,可能会产生不一致。

TL;博士:

jQuery扩展了JavaScript,使用本地代码实现了function(性能明智是件好事)。