深化理解ECMAScript的几个关键语句_.docx

上传人:啊飒飒 文档编号:11556987 上传时间:2021-08-23 格式:DOCX 页数:8 大小:14.03KB
返回 下载 相关 举报
深化理解ECMAScript的几个关键语句_.docx_第1页
第1页 / 共8页
深化理解ECMAScript的几个关键语句_.docx_第2页
第2页 / 共8页
深化理解ECMAScript的几个关键语句_.docx_第3页
第3页 / 共8页
深化理解ECMAScript的几个关键语句_.docx_第4页
第4页 / 共8页
深化理解ECMAScript的几个关键语句_.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《深化理解ECMAScript的几个关键语句_.docx》由会员分享,可在线阅读,更多相关《深化理解ECMAScript的几个关键语句_.docx(8页珍藏版)》请在三一文库上搜索。

1、深化理解ECMAScript的几个关键语句_ 下面我就为大家带来一篇深化理解ECMAScript的几个关键语句。我觉得挺不错的,现在就分享给大家,也给大家做个参考。 写在前面 在这一章中我们聊一聊ECMAScript中的几个关键语句switch、for-in、label等语句,加深我们对它们的理解和认识。首先从最常见的说起。 while和for while和for是很常规的语句,无论是在JavaScript还是C还是其他编程语言中。而且在编程中我们较常用的也是for,for用起来更敏捷,更简洁,所以有些人可能就会产生这样一种误会: for比while更强大,能做到while做不到的一些事情。

2、其实我们略微想想while和for语句的语法应用,我们就会发觉: while循环做不到的for循环也做不到。 这是由于for循环只是把while循环有关的代码集中在了一起而已,其实有些时候,用while循环比用for循环更简洁。这也是各司其职各有利弊吧。 关于循环的另一点,我们先看一段代码: for(i=0;i5;i+) console.log(i); console.log(i); 在循环外打印i,打印输出是5。 可以看到,在循环内部定义的变量在外部也是可以访问的。在一些语言中比如C,大括号定义的是块级作用域,但是在ECMAScript中是没有块级作用域这个概念的,所以在循环内部定义的变量在

3、外部也是可以访问的。 switch语句 在其他编程语言中比如C,switch语句只能用法数字,而在ECMAScript中,switch语句可以用法任何数据类型,像字符串、对象都是可以的。 这里有一点需要说明:switch语句比较的时候用法的全等操作符,即=,所以10和10不相等,由于在进行全等比较的时候,并不发生类型转换。 for-in语句 for-in语句是一种精确性的迭代语句,可以用来遍历对象的属性,当然也可以迭代数组的属性。下面分别以例子说明: for-in遍历对象 window 先遍历一个特别的对象window: for(var i in window) console.log(i);

4、 会打印出一串很长很长的属性列表,大家可自行查看,在此不一一排列赘述。 自定义对象 遍历自定义对象 var o=prop1:value1, prop2:value2, prop3:value3; for (var i in o) console.log(i); 打印出prop1 prop2 prop3。 数组 遍历数组 var array1=1,2,3,4; for(var i in array) console.log(i); 打印输出1 2 3 4。 with语句 with语句可以用来限制作用域,即可以将代码的作用域设置到一个特定的对象中。如下: var hostname=location

5、.hostname; var url=location.href; 这两句分别猎取hostname和url,由于它们共用location(同一个对象下的属性),所以我们可以将作用域限定在location中,即用with语句关联location对象。如下: with(location) var hostname=hostname; var url=href; 需要留意的是:严格模式下用法with语句会有语法错误,同时,大量用法with语句会导致性能下降,同时也会给调试带来肯定的困难,所以在开发应用程序的时候,尤其是开发大型应用程序的时候,并不建议用法with语句。 label语句 label语句

6、用来在代码中加标签,从而可以在以后来用法它。一般状况下,加标签的语句要和for循环等循环语句配合来用法。 它的语法是: label: statement 下面给出代码具体来看看label标签的用法。 1、先给出一段基本的代码: var num=0; for(var i=0;i10;i+) for(var j=0;j10;j+) if(i=5j=5) break; num+; console.log(num); 说明:break跳出了处在内部的for循环,j剩下的5次循环不再执行,所以打印的结果是95。 2、接下来我们将break换成continue: var num=0; for(var i=

7、0;i10;i+) for(var j=0;j10;j+) if(i=5j=5) break; num+; console.log(num); 说明:continue跳出了本次循环,就是说跳出了处在内部for循环的这一次循环,所以打印的结果是99。 3、接下来我们加上一个名为outer的label标签再分别看打印结果: var num=0; outer: for(var i=0;i10;i+) for(var j=0;j10;j+) if(i=5j=5) break outer; num+; console.log(num); 说明:加上了标签以后,用break跳到了标签outer处,就是说程

8、序跳出了外循环,即程序执行到了i=5且j=5时停止执行,所以打印的结果是55。 4、我们再换成continue看看: var num=0; outer: for(var i=0;i10;i+) for(var j=0;j10;j+) if(i=5j=5) continue outer; num+; console.log(num); 说明:这一次用的是continue,所以当程序执行到i=5且j=5时并没有跳出外循环,而只是跳出了内循环,即剩下的5次不予执行,所以打印的结果是95。 放在一起这几个显得略微有些混淆,多理解理解就会好许多。 小结 我们学习一门东西不是为学而学,是为用而学,说白了就是为了工作而学,所以单纯理解上面的东西不是最重要的,不是为记而记,是为用而记,能够娴熟运用在实践中才是我们盼望的。同时,做笔记是一个很好的习惯,好记性不如烂笔头,假如你在做,那么盼望你坚持下去。 以上这篇深化理解ECMAScript的几个关键语句就是我分享给大家的全部内容了,盼望能给大家一个参考 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1