ECMAScript驾驭ECMAScript的多少个十分重要语句


置顶文章:《纯CSS构建水草绿MacBook Air(完整版)》

上一篇:《ECMAScript之操作符注重小解》

小编主页:myvin
博主QQ:851399101(点击QQ和博主发起暂且会话)


写在前头

在那壹章中大家聊一聊ECMAScript中的多少个第壹语句switchfor-inlabel等语句,加深大家对它们的驾驭和认知。首先从最普遍的聊到。

while和for

while和for是很健康的语句,无论是在JavaScript依然C照旧别的编制程序语言中。而且在编制程序中我们较常用的也是forfor用起来越来越灵敏,更简便,所以有些人可能就会发生这么1种误解:

forwhile更强大,能做到while做不到的有个别作业。

实在大家有点想想whilefor说话的语法应用,大家就会意识:

while巡回做不到的for循环也做不到。

那是因为for循环只是把while循环有关的代码集中在了一齐而已,其实有个别时候,用while巡回比用for循环更简约。那也是融入各有利弊吧。

关于循环的另一些,我们先看1段代码:

for(i=0;i<5;i++){
    console.log(i);
}
console.log(i);

在循环外打字与印刷i,打字与印刷输出是5

能够观望,在循环之中定义的变量在表面也是能够访问的。在部分言语中比方C,大括号定义的是块级成效域,但是在ECMAScript中是未有块级功能域那个定义的,所以在循环之中定义的变量在表面也是足以访问的。

switch语句

在任何编程语言中比方C,switch言辞只可以利用数字,而在ECMAScript中,switch话语能够应用其余数据类型,像字符串、对象都以可以的。

此地有好几亟需注解:switch话语比较的时候利用的全等操作符,即===,所以'10'10不等于,因为在张开全等比较的时候,并不发出类型调换。

for-in语句

for-in语句是1种正确性的迭代语句,能够用来遍历对象的属性,当然也得以迭代数组的属性。下边分别以例子表明:

for-in遍历对象

  • ### window

先遍历贰个例外的对象window

for(var i in window){
    console.log(i);
}

会打字与印刷出1串相当短非常短的习性列表,大家可自行查看,在此不1壹罗列赘述。

  • ### 自定义对象

遍历自定义对象

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.hostname;
var url=location.href;

那两句分别收获hostnameurl,因为它们共用location(同二个对象下的属性),所以大家得以将作用域限定在location中,即用with语句关联location对象。如下:

with(location){

    var hostname=hostname;
    var url=href;
}

亟待留意的是:严厉方式下利用with语句会有语法错误,同时,大量采取with语句会导致质量下跌,同时也会给调节和测试带来一定的费力,所以在开辟应用程序的时候,越发是开垦大型应用程序的时候,并不建议利用with语句。

label语句

label语句用来在代码中加标签,从而得以在随后来利用它。一般景观下,加标签的口舌要和for循环等循环语句协作来利用。

它的语法是:

label: statement

上面给出代码详细来探望label标签的用法。

壹、先交付1段基本的代码:

var num=0;
for(var i=0;i<10;i++){
    for(var j=0;j<10;j++){
        if(i==5&&j==5){
            break;
        }
        num++;
    }
}
console.log(num);

说明:break跳出了地处中间的for循环,j剩余的陆次巡回不再实施,所以打字与印刷的结果是95

二、接下去大家将break换成continue

var num=0;
for(var i=0;i<10;i++){
    for(var j=0;j<10;j++){
        if(i==5&&j==5){
            break;
        }
        num++;
    }
}
console.log(num);

说明:continue跳出了此番巡回,正是说跳出了地处中间for循环的那贰遍巡回,所以打字与印刷的结果是99

三、接下去我们增添三个名字为outerlabel标签再各自看打字与印刷结果:

var num=0;
outer:
for(var i=0;i<10;i++){
    for(var j=0;j<10;j++){
        if(i==5&&j==5){
            break outer;
        }
        num++;
    }
}
console.log(num);

证实:加上了标签现在,用break跳到了标签outer处,便是说程序跳出了外循环,即程序实行到了i=5j=5时停下试行,所以打字与印刷的结果是55

4、我们再换到continue看看:

var num=0;
outer:
for(var i=0;i<10;i++){
    for(var j=0;j<10;j++){
        if(i==5&&j==5){
            continue outer;
        }
        num++;
    }
}
console.log(num);

注脚:那2次用的是continue,所以当程序实行到i=5j=5时并不曾跳出外循环,而只是跳出了内循环,即剩下的5次不予实施,所以打字与印刷的结果是95

身处一齐这个显示有点有个别混淆,多掌握驾驭就会好过多。

小结

我们上学一门东西不是为学而学,是为用而学,说白了正是为着专业而学,所以只是领悟地点的东西不是最根本的,不是为记而记,是为用而记,能够熟悉使用在实施中才是大家期待的。同时,做速记是1个很好的习于旧贯,好记性不比烂笔头,假若您在做,那么愿意您持之以恒下去。


转发请记得表达小编和出处哦-.-
作者:myvin
最初的作品出处:http://www.cnblogs.com/myvin/p/4756504.html


下一篇:《关于ECMAScript函数参数的多地点明白》

置顶文章:《纯CSS创设灰褐MacBook Air(完整版)》