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