jQuery实用程序函数是否优于普通函数定义?

时间:2011-12-26 18:34:04

标签: javascript jquery

This jQuery course建议将自己的jQuery实用程序函数定义为组织代码的好方法。

但它并没有真正解释原因。那么,为什么编写代码如下:

$.highlightResults = function(seats) {
  // 
}
$.highlightResults('/.seating-chart a');

最好只是简单地说:

function highlightResults(seats) { 
 //
}
highlightResults('/.seating-chart a');

课程是错的,还是有充分的理由以这种方式写出来?

1 个答案:

答案 0 :(得分:2)

$是一个jQuery函数对象或jQuery的别名。(更确切地说,jQuery函数和javascript中的每个函数都是一个对象)。见What is the meaning of symbol $ in jQuery?

 $.highlightResults => highlightResults is a property of jQuery object.

将任何函数定义为jQuery函数对象的属性时,可以访问 jQuery函数对象和jQuery的所有相关属性/函数,在函数中使用'this'。

举一个简单的例子。

$.property1 ='a';
$.property2 ='b';
$.highlightResults = function(){
                                 var concat = this.property1 + this.property2;
                               };

所有这些都与代码组织和行为有关。

如果你定义

function highlightResults(){xyxyxy;} 

它不是jQuery函数对象的属性,位于 GLOBAL空间