Javascript $.fn和命名变量的差异?

Javascript $.fn和命名变量的差异?,javascript,jquery,function,plugins,Javascript,Jquery,Function,Plugins,我开始学习如何创建jquery插件,文档建议我使用$.fn 例如: $.fn.greenify = function() { this.css( "color", "green" ); }; $( "a" ).greenify(); // Makes all the links green. 那么我的问题是,使用$.fn有什么好处?如果他们只是想这样调用该函数,为什么我不能为其分配一个新变量并获得相同的结果: var greenify = function() { this.

我开始学习如何创建jquery插件,文档建议我使用$.fn

例如:

$.fn.greenify = function() {
    this.css( "color", "green" );
};

$( "a" ).greenify(); // Makes all the links green.
那么我的问题是,使用$.fn有什么好处?如果他们只是想这样调用该函数,为什么我不能为其分配一个新变量并获得相同的结果:

var greenify = function() {
    this.css( "color", "green" );
};

$( "a" ).greenify(); // Makes all the links green.

在jQuery中,fn属性只是prototype属性的别名


看看这个:

因为函数不是方法。请注意,.fn是.prototype的别名。