js 笔记_02 循环语句

== 读 JavaScript 高级程序设计(第3版)第三章笔记 ==
== 只记录了个人觉得需要注意的部分 ==

for-in 语句

for-in 语句是一种精确的迭代语句,可以用来枚举对象的属性。以下是 for-in 语句的语法:
for (property in expression) statement
以下是一个事例:

for (var propName in window) {
	document.write(propName);
}
  • 以上例子使用 for-in 循环来显示了 BOM 中 window 对象的所有属性。
  • var 非必需,但推荐使用。
  • 如果要迭代的对象的变量值为 nullundefinedfor-in 语句会抛出错误。ECMAScript5 更正了这一行为;对这种情况不再抛出错误,而只是不执行循环体。(做好避免)

outermost

breakcontinue 语句都可以与 label 语句联合使用,从而返回代码中特定的位置。多用于循环嵌套时;

  • outermost:表示返回外部的 for 语句
  • 对于 breakcontinue 的功能举例:
let num = 0;
outermost:
for (i = 0; i < 10; i ++) {
	for (j = 0; j < 10; j ++) {
		if (i == 5 && j == 5) {
			break outermost;
		}
		num ++;
	}
}
alert (num);   //55
let num = 0;
outermost:
for (i = 0; i < 10; i ++) {
	for (j = 0; j < 10; j ++) {
		if (i == 5 && j == 5) {
			continue outermost;
		}
		num ++;
	}
}
alert (num);   //95

关于函数

严格模式

严格模式对函数有一些限制,如果发生下列情况,就会导致语法错误,代码无法执行:

  • 不能把函数命名为 evalarguments
  • 不能把参数命名为 evalarguments
  • 不能出现两个命名参数同名的情况。

理解参数

  • 由于 ECMAScript 中的参数是用一个数组来表示的,函数接收的始终都是这个数组,而不关心数组中包含哪些参数。故ECMAScript 函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型;
  • arguments对象与数组类似,可以使用方括号语法访问它的每一个元素;
  • arguments.length:确定传递进来多少参数;

猜你喜欢

转载自blog.csdn.net/Web_blingbling/article/details/107514245