《Javascript权威指南》学习笔记之四流程控制
2014-05-16 19:19
253 查看
一、语句和语句块
1、语句:在Javascript中,分号或者换行均可作为Javascript的语句终止符,所以省略分号时,解释引擎会自动在行末尾添加";",但是,建议手动添加分号,有利于代码的阅读。
2、语句块:在Javascript中,语句块的界定符是:{ statement;}
在JS中,不认为语句块是一个新范围,只有函数才创建新范围。上述的i和j在同一个作用域范围
二、for...in循环:遍历对象的属性或数组元素,但不能迭代方法。此外,静态成员和部分属性(非对象原型链中的属性)也不能迭代。
2.1语法格式:
for(variable in object){
statements;
}
variable是声明的变量,代表对象的属性名,object是需要被遍历的对象。
2.2 注意事项
2.2.1不会将相同的属性迭代两次。若child有原型parent,二者均有prop属性,则for-in循环中的prop来自child,忽略parent中的prop属性。
2.2.2若在类中(类内)定义一个for-in循环,则实例成员对该循环不可用,静态成员可用;若在代码中(类外)定义一个for-in循环,则实例成员可用,静态成员不可用。
三、for each...in循环:遍历对象的属性值,语法格式和for-in循环差不多,但是该语法是JS1.6引入,且只在FF2及以上版本可用。
四、标签语句:用于提供一个标识符,用于直接跳转到标识符处执行,仅有break和continue语句可以使用。
4.1语法格式:label:statements;
label是一个符合JS规则的合法标识符,statements可以是一条语句,也可以是一个语句块。
4.2示例
五:with语句:方便引用对象的方法和属性
with(object)
{
statements;
}
1、语句:在Javascript中,分号或者换行均可作为Javascript的语句终止符,所以省略分号时,解释引擎会自动在行末尾添加";",但是,建议手动添加分号,有利于代码的阅读。
2、语句块:在Javascript中,语句块的界定符是:{ statement;}
var i = 1; { i = 2; var j = 1; } alert(i); //输出2 alert(j); //输出1
在JS中,不认为语句块是一个新范围,只有函数才创建新范围。上述的i和j在同一个作用域范围
二、for...in循环:遍历对象的属性或数组元素,但不能迭代方法。此外,静态成员和部分属性(非对象原型链中的属性)也不能迭代。
2.1语法格式:
for(variable in object){
statements;
}
variable是声明的变量,代表对象的属性名,object是需要被遍历的对象。
var myObj = {name:"JavaScript", age:11,belonging:"ECMA" } for(var prop in myObj) { document.write("myObj"+prop+"="+myObj[prop]+"<br/>");// }
2.2 注意事项
2.2.1不会将相同的属性迭代两次。若child有原型parent,二者均有prop属性,则for-in循环中的prop来自child,忽略parent中的prop属性。
2.2.2若在类中(类内)定义一个for-in循环,则实例成员对该循环不可用,静态成员可用;若在代码中(类外)定义一个for-in循环,则实例成员可用,静态成员不可用。
三、for each...in循环:遍历对象的属性值,语法格式和for-in循环差不多,但是该语法是JS1.6引入,且只在FF2及以上版本可用。
四、标签语句:用于提供一个标识符,用于直接跳转到标识符处执行,仅有break和continue语句可以使用。
4.1语法格式:label:statements;
label是一个符合JS规则的合法标识符,statements可以是一条语句,也可以是一个语句块。
4.2示例
foo: for(var i = 1; i < 10; i++) { if(i == 5) break foo; document.write(i); } document.write("end"); //当i==5时,即跳出循环,执行此语句
五:with语句:方便引用对象的方法和属性
with(object)
{
statements;
}
var now = new Date(); with(now) { document.write(getDay()); document.write(getMonth+1); } //未使用with document.write(now.getDay()); document.write(now.getMonth+1);
相关文章推荐
- 《JAVA编程思想》学习笔记——第四章 控制执行流程
- 《Java编程思想》学习笔记(第四章): 流程控制语句
- 《Thinking in Java》学习笔记——第三章:控制程序流程
- shell入门之流程控制语句 分类: 学习笔记 linux ubuntu 2015-07-10 16:38 89人阅读 评论(0) 收藏
- 《Java面向对象编程》学习笔记5——流程控制
- 「学习笔记——Python」Python流程控制
- 《Shell脚本学习指南》学习笔记之变量、判断和流程控制
- 《21天学会C++》学习笔记第7章控制程序流程
- 《C#入门经典》学习笔记(流程控制)
- 《java编程思想》学习笔记—控制执行流程
- 《Pro Spring》学习笔记之JMS的事务控制
- 用WF流程控制WPF动画
- 【转】shell学习笔记(七)——流程控制之while
- 《Javascript权威指南》学习笔记之八:静态成员、静态类、枚举、重载和覆盖
- PHP学习笔记——特殊的流程控制语句
- js之流程控制、循环
- 【深入浅出Node.js系列十四】Nodejs异步流程控制Async
- 06_PHP流程控制与函数
- C++--流程控制语句
- C语言学习笔记_4流程控制