js的学习 (语句)

1.for/in

语法如下:

for(variable in object)

  statement

 

variable通常是一个变量名,也可以是一个可以产生左值的表达式或者一个通过var语句声明的变量,总之必须是一个适用于赋值表达式左侧的值。object是一个表达式,这个表达式的计算结果是一个对象。

执行for in语句的过程中,JS会先计算object表达式的值。

如果object是一个对象,JS会依次枚举对象的属性来执行循环。在每次循环之前,JS会先计算variable表达式的值,并将属性名(一个字符串)赋值给它。

如果表达式为null或者undefined,JS解释器会跳过循环并执行后续的代码。

variable的值可以当做赋值表达式的左值,它可以是任意表达式,每次循环都会计算这个表达式。例如,可以使用下面这段代码将所有对象的属性复制到一个数组中。

1 var p = {x:1, y:2, z:3};
2 var a = [], i = 0;
3 for(a[i++] in p); <!-- empty -->
4 for(i in a)
5     console.log(i,a[i])

 

2.标签语句

语句是可以添加标签的,标签是由语句前的标识符和冒号组成:

identifier:statement

mainloop:while(token!=null){

  continue mainloop;//跳转到下一次循环

}

通过给语句定义标签,就可以在程序的任何地方通过标签名引用这条语句。

break和continue是JavaScript中唯一可以使用语句标签的语句。

任何语句可以有很多个标签。

 

3.try/catch

在没有catch从句的情况下,try从句可以和finally从句一起使用。

我们无法完全精确地使用while循环来模拟for循环,因为continue语句在两个循环中的行为表现不一致。如果使用try/finally语句,就能使用while循环来正确模拟包含continue的for循环。

1 //模拟for(initialize;test;increment)body;
2 initialize;
3 while(test){
4     try{body;}
5     finally{increment;}     
6 }

需要注意的是,当body包含break语句时,while循环和for循环便有了更微妙的区别(造成了一次额外的自增运算)。

 

4.with语句

with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象。

语法格式  
with(object instance)  
{  
        //代码块  
}  
       有时候,我在一个程序代码中,多次需要使用某对象的属性或方法,照以前的写法,都是通过:对象.属性或者对象.方法这样的方式来分别获得该对象的属性和方法,着实有点麻烦,学习了with语句后,可以通过类似如下的方式来实现:  
with(objInstance)  
{  
       var str = 属性1;  
.....  
} 去除了多次写对象名的麻烦。

 1 <script language="javascript">  
 2 <!--  
 3 function Lakers() {  
 4        this.name = "kobe bryant";  
 5        this.age = "28";  
 6        this.gender = "boy";  
 7 }  
 8 var people=new Lakers();  
 9 with(people)  
10 {  
11        var str = "姓名: " + name + "<br>";  
12        str += "年龄:" + age + "<br>";  
13        str += "性别:" + gender;  
14        document.write(str);  
15 }  
16 //-->  
17 </script>  

代码执行效果如下:  
姓名: kobe bryant  
年龄:28  
性别:boy

 

转载于:https://www.cnblogs.com/fjl-vxee/p/6817917.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值