This jQuery course建议将自己的jQuery实用程序函数定义为组织代码的好方法。
但它并没有真正解释原因。那么,为什么编写代码如下:
$.highlightResults = function(seats) {
//
}
$.highlightResults('/.seating-chart a');
最好只是简单地说:
function highlightResults(seats) {
//
}
highlightResults('/.seating-chart a');
课程是错的,还是有充分的理由以这种方式写出来?
答案 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空间