JS高程3.基本概念(5)语句
1.if语句
2.do-while语句:后测循环语句,循环体内的代码至少执行一次。
3.while语句:前测循环语句。
4.for语句:前测循环语句。
注意:在ECMAScript中不存在块级作用域,因此在循环内部定义的变量也可以在外部访问到。
eg:
var count=10;
for(var i=0;i<count;i++){
alert(i);
}
alert(i);
以上代码的执行效果是,弹出从0到9的警告框,这是for语句循环的结果,最后弹出显示10的警告框,这是for循环外的那条语句的效果,说明循环内部定义的变量也可以在外部访问到。
5.for-in语句
for-in语句是一种精准的迭代语句,可以用来枚举对象的属性,
语法:for (proerty in experssion)statement
eg:
for(var propName in window){
document.write(propName);
}
上面的例子使用for-in循环来显示BOM中window对象所有的属性。每循环一次,都会将window对象中存在的一个属性名赋值给变量propName,直到对象中的所有属性都被枚举一遍为止。
ECMAScript对象的属性没有顺序。因此,通过for-in循环输出的属性名的顺序是不可预测的,具体来讲,所有的属性都会被返回一次,但是返回的先后顺序可能会因浏览器而异。
注意,如果迭代的对象的变量值为null或是undefined,for-in语句会抛出错误。ECMAScript5更正了这一行为,对这种情况不再抛出错误,而只是不执行循环体。为了保证最大限度的兼容性,建议在使用for-in循环之前,先检测确认该对象的值不是null或undefined。
W3C:
for...in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
JavaScript for...in 语句
for...in 语句用于对数组或者对象的属性进行循环操作。
for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
语法:
for(变量in对象)
{
在此执行代码
}
“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。
eg:
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW" for (var x in mycars)
{
document.write(mycars[x] + "<br />")
}

6.label语句 使用label语句可以在代码中添加标签,以便将来使用。语法:label:statement
eg:参考下面的break和cuntinue语句例子。
7.break和continue语句
break和continue语句用于在循环中精确地控制代码的执行。break会立即退出循环,强制继续执行循环后面的语句,而continue语句虽然也是立即退出循环,但是退出循环后悔立即从循环的顶部继续执行。
eg:
outermost:
for (var i=0;i<10;i++){
for(var j=0; j<10;j++){
if(i==5&&j==5){
break outermost;
}
num++;
}
}
alert(num);

改为continue:
outermost:
for (var i=0;i<10;i++){
for(var j=0; j<10;j++){
if(i==5&&j==5){
continue outermost;
}
num++;
}
}
alert(num);

8.with语句:用于将代码的作用域设置到一个特定的对象中。语法:with (expression) statement;
注意:在严格模式下不允许使用with语句。由于大量的使用with语句会导致性能下降,同时也会给调试代码造成困难,因此在大型开发应用程序时,不建议使用with语句。
9.switch语句。
注意:(1)switch语句中可以使用任何数据类型。
(2)switch语句在比较值时使用的是全等操作符,因此不会发生类型转换。
JS高程3.基本概念(5)语句的更多相关文章
- JS高程3.基本概念(4)操作符
ECMA-262用于操作数据值的操作符包括: 算术操作符 位操作符 关系操作符 相等操作符 ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象.(在应 ...
- JS高程3.基本概念(6)函数
1.ECMAScript中的函数使用function关键字来声明. eg: function sum (num1,num2){ alert(num1+num2); } sum(3,7); 注意: 在有 ...
- JS高程3.基本概念(3)
1.ECMAScript数值的范围 由于内存的限制,在大多数浏览器中,ECMAScript能够拿保存的数据的范围是 5e-324 ~ 1.7976931348623157e+308,其中最小的数值保存 ...
- JS高程3.基本概念(2)
1.ECMAScript数据类型 5种简单数据类型,分别是: Undefined Null Boolean Number String 1种复杂数据类型: Object (1)typeof操作符--检 ...
- JS高程3.基本概念(1)
1.语法 (1)ECMAScript中的一切(变量,函数名和操作符)都是区分大小写的. (2)标识符 标识符的第一个字符必须是字母,下划线或是美元符号. 其他字符可以是字母,下划线,美元符号和数字. ...
- 《JS高程》创建对象的7种方式(完整版)
一.理解对象 ECMA-262定义对象:无序属性的集合,其属性可以包含基本值.对象或者属性. 我们可以把 ECMAScript 的对象想象成 散列表:无非就是一组 名值对,其中值可以是数据或函数. 创 ...
- js 高程 函数节流 throttle() 分析与优化
在 js 高程 22.3.3章节 里看到了 函数节流 的概念,觉得给出的代码可以优化,并且概念理解可以清晰些,所以总结如下: 先看 函数节流 的定义,书上原话(斜体表示): 产生原因/适用场景: 浏览 ...
- 吃透Javascript数组操作的正确姿势—再读《Js高程》
Javascript中关于数组对象的操作方法比较多也比较杂,正好再次捡起<Javascript高级程序设计>来读,把它们一一总结梳理了一下: 方法类别 方法名称 方法描述 参数 返回值 备 ...
- 《JS高程》事件学习笔记
事件:文档或浏览器窗口中发生的一些特定的交互瞬间,也即用户或浏览器自身执行的某种动作. -------------------------------------------------------- ...
随机推荐
- ora-01652无法通过128(在表空间temp中)扩展temp段
今天提交请求后,提示ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段.最后通过ALTER DATABASE TEMPFILE '/*/*/db/apps_st/d ...
- .Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译
apk(android package)就是我们安卓系统的安装文件,可以在模拟器和手机中直接打开安装,从项目中打包apk有几种方式可取 一.最简单的方法(类似我们的winfrom) 只要我们调试或者运 ...
- TSQL语句
1.创建数据库create database test3;2.删除数据库drop database test3;3.创建表create table test( code varchar(20), ...
- 《HTML重构》读书笔记&思维导图
最近读了<HTML重构>这本书,以下做出自己的总结归纳,大家可以一起学习交流. 什么是重构?重构是在不改变程序行为的基础上进行小的改动是代码基本逐渐完善的过程,通常需要一些自动化工具的帮助 ...
- scikit-learn 和pandas 基于windows单机机器学习环境的搭建
很多朋友想学习机器学习,却苦于环境的搭建,这里给出windows上scikit-learn研究开发环境的搭建步骤. Step 1. Python的安装 python有2.x和3.x的版本之分,但是很多 ...
- 取消vs2013在solution中单击打开文件的功能
2013用了一段时间,不错,就是单击会打开文件,有点恼人(因人而异吧).解决方案: 取消红色框框里面的那个checkbox就ok了. 来自为知笔记(Wiz)
- UWP开发之Mvvmlight实践三:简单MVVM实例开发(图文详解付代码)
在做MVVM各种框架对比之前,我觉得有必要先自己做一个简单的MVVM实现案例比较好,这样就可以看到自己实现的时候有那些不方便的地方.而各种框架又是怎么解决我们这些麻烦的. 案例介绍:用户登录画面,没有 ...
- 微服务实战(二):使用API Gateway--转
原文地址:http://dockone.io/article/482 [编者的话]本系列的第一篇介绍了微服务架构模式.它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选 ...
- C# 在excel表格中检索并导出数据
由于工作需要,我经常使用excel文档来存储和处理各种数据,在生活中偶尔也会使用excel表格来记录各种开销,相信很多朋友也和我一样.Excel的功能很强大,其中一个很实用的数据处理功能就是查找和替换 ...
- mysql小数格式化正确方法
用到小数格式化,mysql了解很肤浅,只会简单的sql语句,于是百度,发现大家都是转载同一个文章,好无语. 而且,结果验证还是不正确,查了官方api,终于写出来了. 另外,还是保存下百度的几个方法: ...