2013-10-31 119 views
-1

有什么区别,哪个更好?jQuery函数VS Javascript函数

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

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

谢谢!

+1

什么 '好'?第一种是立即调用的JavaScript函数,后者是“仅”JavaScript函数。你想问什么? –

+5

jQuery是一个JavaScript库。没有像jQuery函数那样的东西。 – xbonez

+2

区别在于'random'是否与'jQuery'相关联。至于“*更好*”,“随机”会从该关联中受益还是取决于该关联?如果“*是*,”第一。否则,第二。 –

回答

0

此示例:

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

是一样的:

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

而这个样本:

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

是一样的:

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

正如你所看到的,唯一的区别是命名空间(jQuerywindow):

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

这两个函数完全相同,所以功能没有区别。

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

2

第一个例子:

  • 不使用jQuery
  • 的任何功能
  • jQuery的依赖
  • 使用多个代码

“更好” 是相当主观的,但我可以这个代码没有看到这种方法的好处。

+0

我很抱歉,但第三点是错误的。 – leaf

+0

好点。我习惯于看到jQuery的可怕的重载'$(function(){})'语法,我误解了它,这是固定的。 – Quentin