javascript - 为什么在 jQuery 中 core.js 不是用原型(prototype)定义的扩展

标签 javascript jquery prototype

为什么在 jQuery 中 core.js 不是 extend 定义如下:

jQuery.extend = jQuery.fn.extend = function() {
    ...
}

而不是像这样的原型(prototype):

jQuery.prototype.extend = jQuery.fn.prototype.extend = function() {
    ...
}

据推测,对于前者,从 jQuery 创建的对象将没有扩展功能。

最佳答案

因为 jQuery.fn === jQuery.prototype

它是在原型(prototype)上定义的。 jQuery 刚刚决定将原型(prototype)别名为 .fn

会很“可爱”

这是为什么

$().extend({ 
    "lulz": "baz" 
}, { 
    "more-lulz": "no wai" 
})["more-lulz"] === "no wai"; // true

关于javascript - 为什么在 jQuery 中 core.js 不是用原型(prototype)定义的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8928533/

相关文章:

javascript - jQuery fadeIn() 具有多个 div 的不同间隔

javascript - 如何提前订购数据

jQuery Datepicker minDate 计算一天中的时间

Jquery Internet Explorer 8 $(窗口) 未定义

Javascript原型(prototype)和访问 'this'的父对象

javascript - 将函数分配给 Javascript 中的原型(prototype)是否有内存性能优势?

javascript - 在 Javascript 中管理大量数据

javascript - 带有html-webpack-plugin的webpack,全局安装时出错

java - 在 JSP 中从 JavaScript/jQuery 调用后端 Java 方法

Javascript 新数组功能