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})

原文地址:https://www.cnblogs.com/voctrals/p/3913661.html