首页 > 代码库 > jQueryInAction Reading Note 7.

jQueryInAction Reading Note 7.

jQuery插件命名规则

jquery.pluginName.js

pluginName指代的是插件的名称,如voctrals,tlaliu或者更有意义的名称。

 

简化jQuery函数的参数列表

如果有一个函数有多个参数,但是并不是每一个参数都是必须的,可以把必须的参数放到前面,不必须的参数包装成一个object。

如:

function complex(param, options){    var settings = $.extend(        {            option1 : defaultValue1,            option2 : defaultValue2,            option3 : defaultValue3        }, options||{});    // some other function body using settings}

这里应该有一个说明,应该把options中的key值和value的默认值告知方法的调用者,以便让调用者设置相应的值。

 

函数是第一公民

虽然总是强调,但是真心不习惯。

但是把一个函数赋给一个变量,这个东西还是能够理解的。

 

var声明的最好是变量

如果在一个方法体中,有常量,那么这些常量尽量不要声明为变量(不适用var),而是作为当前方法的常量,如:

$.formatDate = function(date, parttern) {    var result = [];    // ...        $.formatDate.partternParts = /^blablabla/;    $.formatDate.monthNames = [‘January‘, ‘February‘ ...];    $.formatDate.partternValue = {        yyyy: function(date) {            return date.getFullYear().toString();        }    }}

 

 

正则表达式的匹配用parttern.exec(str),返回值为数组,且有一个lastIndex属性。。。。

str.slice(2)

arrary.join(" ")

 

包装器的方法

1 包装器的方法除非有特殊目的,否则要返回一个可以链化的对象;

2 他必须是$.fn的属性方法

3 this指代的是包装集,如果使用了this.each(fucntion(){ // this appears here is the current item})