为什么jQuery将其原型别名为`fn`?

时间:2012-10-31 03:41:32

标签: javascript jquery prototype

看看任何jQuery插件的源代码。它总是

$.fn.pluginName = function() {
    foo('bar');
    return baz;
};

fn名称来自哪里,它只是$.prototype的一个简单别名,还是出于某些其他目的?

2 个答案:

答案 0 :(得分:1)

fn是jquery库控件元素选择的一部分,因此$.foo = function () {};将不存在$('#a').foo();$.fn.foo = function () {};将不存在$.fn.foo。同样,如果您尝试$.foo();,则{{1}}将不存在。它还使this关键字与当前使用的元素相关。你对“任何有fn的jquery插件”的评论都不是真的;)

答案 1 :(得分:1)

来自jquery source

jQuery.fn = jQuery.prototype = {

这只是一个别名,一个快捷方式,就像jQuery$是一样的。