-1

有什么区别,哪个更好?

(function($){
    $.random = function(){
        alert('random');
    };
})(jQuery);

或者

function random() {
    alert('random');
}

谢谢!

4

3 回答 3

2

第一个例子:

  • 不使用 jQuery 的任何特性
  • 依赖于 jQuery
  • 使用更多代码

“更好”是相当主观的,但我看不出这种方法对这段代码有什么好处。

于 2013-10-31T21:48:31.160 回答
1

这两个函数做的事情完全相同,所以在功能上没有区别。

第一种语法会更好,因为它不会用另一个函数使全局命名空间膨胀,而是将该函数添加到 jQuery 中,但这不是扩展 jQuery 的正确方法。

于 2013-10-31T21:47:28.460 回答
0

这个样本:

(function($){
    $.random = function(){
        alert('random');
    };
})(jQuery);

是相同的 :

jQuery.random = function(){
    alert('random');
};

这个样本:

function random() {
    alert('random');
}

是相同的 :

window.random = function() {
    alert('random');
};

如您所见,唯一的区别是命名空间 ( jQueryand window) :

jQuery.random = function() { alert('random'); };
window.random = function() { alert('random'); };
于 2013-10-31T21:58:28.580 回答