JS 奇技淫巧(随时补充)

总结了几个在学习工作中碰到的,做下记录,也欢迎大家指证,补充.

 

1.在判断typeof x=='undefined'时,可以采用typeof x>'t'代替,比较一个字母比逐字比较更快.

2.if(x){a=0},最简单的if语句,如果X存在则给a赋值,可用x&&a=0;代替,处理关系运算符比条件运算符更快.

3.for循环,i--比i++更快.

4.变量转换的快速方法:var myVar   = "3.14159",
str     = ""+ myVar,//  to string
int     = ~~myVar,  //  to integer
float   = 1*myVar,  //  to float
bool    = !!myVar,  /*  to boolean - any string with length
and any number except 0 are true */
array   = [myVar];  //  to array

5.在使用function(){}作为函数的参数时,比如说定义了function fn(a){a()},执行fn(function(){alert(1)})时,可以把{}省略,即fn(function() alert(1));(大部分编辑器会报错)

6.n===-1可简化为!~n;  n!==-1可简化为~n;

7.通过Array.prototype.slice.call(obj,0)可迅速转化为数组.

8.立即执行函数的装X写法:void function()();

9.数组是引用数据类型,a=[1],b=a,更改b的话,a数组也会更改,假如只需要更改b数组而a数组不变,最高效的方法是b=a.concat();

...

欢迎大家补充.

 

吐槽一下:绝对不建议大家使用这些写法,只是为了大家看大牛们的代码时不至于纠结,仅此而已.

posted @ 2012-11-08 16:22  zwei1989  阅读(1006)  评论(0编辑  收藏  举报