我试图研究 jQuery 代码,所以我使用了这个:
document.write($.constructor);
我得到了这个结果:
function Function() { [native code] }
[native code]
是什么意思?为什么我看不到真正的代码?
使用 Google-Chrome
测试
最佳答案
当您使用解释性语言(相对于编译性语言)定义函数时。您有权访问定义函数的文件/字符串/文本。
例如,在 JavaScript 中,您可以阅读已定义函数的定义正文文本。
如果您尝试对通过在 JavaScript 中构造包含 的函数执行相同的操作,它不会以文本形式实现,而是以二进制形式实现。没有理由显示实现该功能的二进制代码,因为它不可读,甚至可能不可用。
jQuery 扩展了默认的 JavaScript 行为。这是它比 Prototype.js 受到高度赞赏和赞扬的原因之一。 Prototype 改变 JavaScript 的自然行为,在将 Prototype 与其他一些依赖于正常功能的代码一起使用时可能会造成不一致。
tl;博士:
jQuery 扩展了 JavaScript,有使用 native 代码实现的功能(这在性能方面是一件好事)。
关于javascript - "[native code] "是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11234664/