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;

浙公网安备 33010602011771号