一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

js if else优化方法

时间:2011-03-13 编辑:简简单单 来源:一聚教程网

条件语句
在您编写代码时,经常需要根据不同的条件完成不同的行为。可以在代码中使用条件语句来完成这个任务。

网页特效 中,我们可以使用下面几种条件语句:

if 语句
在一个指定的条件成立时执行代码。
if...else 语句
在指定的条件成立时执行代码,当条件不成立时执行另外的代码。
if...else if....else 语句
使用这个语句可以选择执行若干块代码中的一个。
switch 语句


if 语句
如果希望指定的条件成立时执行代码,就可以使用这个语句。

语法:

if (条件)
{
条件成立时执行代码
}
注意:请使用小写字母。使用大写的 if 会出错!

实例 1

实例 2

注意:请使用双等号 (==) 来比较变量!

注意:在语法中没有 else。仅仅当条件为 true 时,代码才会执行


一、使用常见的三元操作符


复制代码 代码如下:

 


本例演示 if...else 语句。

如果浏览器时间小于 10,那么会向您问“早安”,否则会向您问候“祝您愉快”。


if (foo) bar(); else baz(); ==> foo?bar():baz();
if (!foo) bar(); else baz(); ==> foo?baz():bar();
if (foo) return bar(); else return baz(); ==> return foo?bar():baz();

对于以上使用三元操作符来优化if语句你肯定不会陌生,或许你经常使用它。

二、使用and(&&)和or(||)运算符

复制代码 代码如下:

if (foo) bar(); ==> foo&&bar();
if (!foo) bar(); ==> foo||bar();

老实说,我并没有这样去写过代码,这种写法我在学习《鸟哥的 linux 私房菜》时看到过,但我并没想到在js中实现它。

三、省略大括号{}

复制代码 代码如下:

if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}

这种写法你我都很熟悉,但我建议在代码优化的时候这样做,或者交给uglifyjs帮你去解决。毕竟少一个大括号,代码的可阅读性并不高。

写到这里,我想到jquery之父在《精通 javascript》中的一个获取html元素属性的方法。
复制代码 代码如下:

function getattr(el, attrname){
var attr = {'for':'htmlfor', 'class':'classname'}[attrname] || attrname;
};

如果我们不这样写,可能我们需借助于两个if语句来进行处理,而上面的代码不仅简洁有效,而且可阅读性强。

热门栏目