天行健、君子以自强不息;地势坤、君子以厚德载物!

关于我

zhenn 前端工程师,淘宝 北京!这里仅仅记录我的技术生活以及成长历程,如果有兴趣和我交流,猛击以下链接即可。
follow zhenn in TC Microblog
follow zhenn in SinaTwitter

巧用”&&”和”||”

对于&&和||运算符,相信大家都用过,分别进行逻辑与运算和逻辑或运算符。如果&&的第一个运算数是false,则不再考虑第二个运算数,直接返回false。如果||的第一个运算数是true,那么也不再考虑第二个运算数。

没有实践就没有发言权,demo如下:

var a = true, b = false;
function test(param){
  alert(param);
}
a && test(1);
b && test(2);
a || test(3);
b || test(4);

执行如上代码,事实上只执行了test(1)和test(4),原理如上所述。

a&&test(1)这种运算,其实我不知道是否有个专业的名词去描述它,在javascript森林群ToFishes同学称之为“惰性运算”,那么暂且叫它“惰性运算”吧,实际上相当于if(a){test(1)}。

其中||运算符,有个很重要的应用就是给function的参数设置默认值,如:

function test(param){
	param = {
		name: param.name || "zhenn",
		age: param.age || 25
	}
	alert(param.name + " is " + param.age + " years old.")
}
test({});

以上内容,针对刚入门javascript的童鞋们,大湿级的淫们可以直接skip.

posted on 2011-02-20 14:25  zhenn  阅读(473)  评论(0编辑  收藏  举报

导航