我试图调查jQuery代码,所以我使用了以下方式:
document.write($.constructor);
我得到这个结果:
function Function() { [native code] }
有什么[native code]
意思是?为什么我看不到真正的代码?
~测试Google-Chrome
~
答案
当您用解释的语言定义函数时(与编译语言相反)。您可以访问定义该功能的文件 /字符串 /文本。
例如,在JavaScript中,您可以读取已定义的函数的定义正文文本。
如果您尝试对一个函数进行相同的操作包括通过在JavaScript中的构造,它不是作为文本实现的,而是作为二进制的。没有理由显示实现该功能的二进制代码,因为它是不可读取的,甚至可能无法可用。
jQuery扩展了默认的JavaScript行为。这是如此高度赞赏和称赞的原因之一,而不是原型。原型是改变JavaScript的自然行为在使用原型与其他依赖正常功能的其他代码旁边时会产生可能的不一致。
tl; dr:
jQuery扩展了JavaScript,使用本机代码实现了功能(哪种性能是一件好事)。