语句
1.switch语句。switch语句中的case只指明了想要执行的代码的起点,但是并没有指明终点。所以如果没有break语句,switch就会一直执行下去,直到结束。也可以使用return替换break。
2.ECMAScript v3标准允许case语句后跟随任意的表达式。switch语句会先计算switch后的表达式,然后按照出现顺序计算case后的表达式,直到找到匹配的为止。匹配case用的是“===”运算符。
3.JavaScript的switch语句和C,C++,Java有很大不同。在后三者中,case表达式必须是编译时的常量,它们的值必须是整数或者是其他整数类型,而且所有值得类型必须是相同的。这样效率比JavaScript要高的多。
4.switch的default语句可以放在任何位置。
5.for/in语句。
for(var prop in my_object){
document.write("name: " + prop + "; value: " + my_object[prop],"<br>");
}
for/in语句中in的左边可以是任意的可赋值的表达式,例如:
var o = {x:1,y:2,z:3};
var a = new Array();
var i =0;
for(a[i++] in o)
6.for/in循环并不会遍历所有对象的所有可能的属性。对象的有些属性以相同的方式标记成了只读的、永久的(不可删除的)或者不可列举的,这些属性是枚举不出来的。许多内部属性,包括所有的内部方式都是不可枚举的。
7.标签语句。在JavaScript中,任何语句都可以通过它前面加上标识符和冒号来标记。通过给一个语句加标签,就可以给这个语句起个名字,这样在程序的任何地方都可以使用这个名字来引用它。
8. JavaScript允许关键字break后跟一个标签名:break labelname;当break和标签一起使用时,它将跳到这个带有标签的语句的尾部,或者终止这个语句。
9.continue语句也可以和标签一起使用:continue labelname;
10.function语句。function funcname(参数列表){}。一条函数定义创建一个新的函数对象,并且将这个函数对象存储在一个新创建的名为funcname的属性中。
11.throw语句。throw expression;expression的值可以是任何类型的,但通常它是一个Error对象或Error子类的一个实例。抛出一个存放错误信息的字符串或代表某种错误代码的数字也是可以的。
12.try/catch/finally语句
13.with语句。with语句用于暂时修改作用域链。语法如下:
with(object)
statement
这一语句有效的将object添加到作用域链的头部,然后执行statement,再把作用域链恢复到原始状态。实际中不建议使用这个语句,因为它效率低、难优化而且还有可能出现一些奇怪的问题。
14.空语句。语法就以一个“;”。在创建一个具有空主体的循环时可以使用。使用时最好注释说明,以免出现不必要的麻烦。