$.flushCartItemList = function() {
isAjaxDate = true;
}
2. 参数名:function method(recordIdx, recordVal){..}, 同函数名,参数尽量用缩写。
命名就是要有意义,一些属性的缩写也很有讲究,例如:索引:idx;值:val;长度:len;名称:nm;等…
3. 变量名:var user_id; var user_list_tab; var user_list_tr_1;,一般以下划线为单词分割,按照“命名_元素_索引”的规则。
jQuery对象的变量名要加上“$”的前缀以区分javascript对象。
jQuery编写技巧:
一、选择器择优
选择器是jQuery的基础,如何选择效率最高的选择器,先要了解各种选择器的性能差异。
①ID选择器和标签元素选择器:$(“#ID”); $(“Tag”);
jQuery内部会自动调用浏览器的原生方法(getElementById();,getElementByTagName();),所以执行速度快。
②类选择器:$(“.Class”);
jQuery会遍历所有DOM节点查找class=Class的DOM对象,所以执行速度较慢。
③伪类选择器和属性选择器:$(“:Type”); $(“[Attribute=’Value’]”);
因为浏览器没有针对它们的原生方法,这两种选择器执行速度是最慢的。不过,不排除一些第三方浏览器增加了querySelector()和querySelectorAll()方法,因此会使这类选择器的性能有大幅提高。
二、链式写法
$(“div”).find(“h3”).eq(2).html(“Hello”);
采用链式写法时,jQuery会自动缓存每一步的结果,比非链式写法(手动缓存)要快。
三、高效循环
循环总是一种比较耗时的操作,javascript原生循环方法for和while,要比jQuery的“.each()”快。并且关于for循环,以下这种写法效率最高。
for (var i = 0, len = array.length; i < len; i++) {
// alert(i);
}
先声明变量,再进行循环操作,效率远比遍历数组“for (var i in arr)”高得多,也比循环取得数组长度“for (var i = 0; i < arr.length; i++)”的效率高!
四、字符串拼接
字符串的拼接在开发中会经常遇到,用“+=”的方式来拼接字符串的效率非常的低,我们可以利用数组的“.join()”方法。
var array = [];
for(var i = 0; i < 10000; i++){
array[i] = “<input type=’button’ value=’a’>”;
}
document.getElementById(“one”).innerHTML = array.join(“”);
以前我很喜欢用数组的原生的方法“.push()”,其实直接用arr[i]或者arr[arr.length]的方式要快一点,但是差别不是很大。










