javascript小知识汇总

1、==和===的区别:"==" 只要求值相等; "===" 要求值和类型都相等

2、isFinite() 函数用于检查其参数是否是无穷大,如果 number 是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。

3、判断空值用 val === null 即可

4、|0和~~是很好的一个例子,使用这两者可以将浮点转成整型且效率方面要比同类的parseInt,Math.round 要快.顺便说句,
//!!将一个值方便快速转化为布尔值 !!window===true 。

var foo = (12.4 / 4.13) | 0;//结果为3

var bar = ~~(12.4 / 4.13);//结果为3                   

5、不声明第三个变量的值交换

var a = 1, b = 2; a = [b, b = a][0];

6、对于传统的if语句,如果执行体代码超过了1 条语句,则需要加花括号,而利用逗号表达式,可以执行任意条代码而不用加花括号。

if (conditoin) alert(1), alert(2), console.log(3);

7、&&的妙用

var day = (new Date).getDay() === 0;

//传统if语句

if (day) {

    alert('Today is Sunday!');

};

//运用逻辑与代替if

day && alert('Today is Sunday!');

 

4、巧用||和&&布尔运算符

function eventHandler(e) {

      if (!e) e = window.event;

 }

//可以替换为:

function eventHandler(e) {

    e = e || window.event;

 }

if (myobj) {

    doSomething(myobj);

 }

//可以替换为:

myobj && doSomething(myobj);

8、禁止别人以iframe加载你的页面 

if (window.location != window.parent.location) window.parent.location = window.location;

posted @ 2017-04-21 09:58  yezil  阅读(82)  评论(0)    收藏  举报