1.06 程序流程控制
-
选择结构
☞ if语句: 2-11.html



-
选择结构
☞ switch语句:


-
循环结构
☞ while语句:

☞ do…while语句:

☞ for语句:

-
循环结构
☞ for…in语句:JavaScript提供了一种for…in的循环机制来遍历对象的所有属性。结构如下:
for(prop in object){
代码块
}
//性能比较低尽量不用。

-
with语句
with语句的作用是将代码的作用域设置到一个特定的对象中。
with语句的语法如下:
with(expression) statement;定义with语句的目的主要是为了简化多次编写同一个对象的工作,
var qs = location.protocol
var hostName = location.pathname;
var url = location.href;
console.log(qs);
console.log(hostName);
console.log(url);
with(location) {
var qs = protocol;
var pathName = pathname;
var url = href;
console.log(qs);
console.log(hostName);
console.log(url);
}
使用with语句关联了location对象在with语句的代码块内部,每个变量首先被认为是一个局部变量,而如果在局部变量环境中找不到该变量的定义,就会查询location对象中是否有同名的属性,如果发现了同名属性,则以location对象属性的值作为变量的值。
严格模式下不允许使用with语句,否则视为语法错误。
1.07 函数
-
ECMAScript使用function关键字来声明函数。

-
带参数的函数

-
带有返回值的函数

function functionName(arg0,arg1,…argN){}严格模式下对函数有一些限制:
不能把函数名命名为:eval或arguments 不能把参数命名为eval 或arguments 不能出现两个函数同名的情况 -
理解参数:
ECMAScript函数的参数与其他语言中的参数有所不同,ECMAScript函数不介意传递进来多少个参数,也不在乎传递进来的参数是什么类型。也就是说,即使你定义的函数只接收两个参数,在调用这个函数时也未必一定要传递两个参数。可以传递一个、三个甚至不传递参数。之所以这样,原因是ECMAScript中的参数在内部是用一个数组来表示的,函数接收到的始终都是这个数组,而不关心数组中有哪些参数。实际上,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递个函数的每一个参数。

通过arguments对象的length属性可以获知有多少个参数传递给了函数。


-
没有重载:
EMCAScript中,函数不能像其他语言那样进行重载,后定义的函数会覆盖前面定义的同名函数。
ECMAScript函数没有签名,因为其参数是由包含零或多个值的数组来表示的。而没有函数签名,真正的函数重载是不可能做到。

本文深入探讨了程序流程控制的概念,包括if语句、switch语句、while循环、do...while循环、for循环以及JavaScript特有的for...in循环。此外,还介绍了with语句的作用域特性及其在实际应用中的注意事项。文章进一步解析了ECMAScript中的函数声明、参数处理、严格模式下的限制及函数重载的缺失,为读者提供了全面的编程指导。

被折叠的 条评论
为什么被折叠?



