【www.gdgbn.com--js教程】

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

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

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


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

语法:

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

实例 1

<script type="text/javascript">
//write a "good morning" greeting if
//the time is less than 10

var d=new date()
var time=d.gethours()

if (time<10)
{
document.write("good morning")
}
</script>实例 2
<script type="text/javascript">
//write "lunch-time!" if the time is 11

var d=new date()
var time=d.gethours()

if (time==11)
{
document.write("lunch-time!")
}
</script>

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

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


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


复制代码 代码如下:

 


<script type="text/javascript">
var d = new date()
var time = d.gethours()

if (time < 10)
{
document.write("早安")
}
else
{
document.write("祝您愉快")
}
</script>

本例演示 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语句来进行处理,而上面的代码不仅简洁有效,而且可阅读性强。

本文来源:http://www.gdgbn.com/wangyezhizuo/29425/