js代码优化

当自调用函数需要使用外部变量时,应该作为参数传递给函数,这样函数在访问外部变量时不用进行作用域链查找了
(function(window,jQuery){
  //................
})(window,jQuery);

使用单个var,在代码块开头声明变量,防止逻辑混乱、减少代码量 var a = 1,b = 2,j; 不需要每次循环都去取数组属性,这会降低性能 for (var i = 0, max = myarray.length; i < max; i++) {} 防止变量、参数为空 function( obj || {} ){obj.a=1;} var obj = obj || {};
短路条件
condition && login;    相当于if(condition){login();}
强制new模式,防止构造函数直接调用 function Person(name, city) {   if(!(this instanceof Person)) {     return new Person(name, city);   } } 深拷贝对象: var deepCopy= function(source) {   var result={};   for (var key in source) {     result[key] = typeof source[key]===’object’? deepCopy(source[key]): source[key];   }   return result; } 深拷贝数组: 方法1: var a = [1]; var b = a.slice(1);


事件click 和 tap 比较:
两者都会在点击时触发,但是在手机WEB端,click会有 200~300 ms,所以请用tap代替click作为点击事件。
原文地址:https://www.cnblogs.com/fanfan-90/p/11921785.html