label语句
使用label语句可以在代码中添加标签,以便将来使用。下面是label语句的语法:
label: statement
下面是一个示例:
start: for (var i=0; i < count; i++) {
alert(i);
}
这个例子中定义的start标签可以在将来由break或continue语句引用。用标签的语句一般都要与for语句等循环语句配合使用。
with语句
with语句的作用是将代码的作用域设置到一个特定的对象中。下面是with语句的语法:
with (expression) statement;
定义with语句的目的主要是为了简化多次编写同一个对象的工作,如下面的例子所示:
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
上面几行代码都包含location对象。如果使用with语句,可以把上面的代码改写成如下所示:
with(location){
var qs = search.substring(1);
var hostName = hostname;
var url href;
}
在这个重写后的例子中,使用with语句关联了location对象。这意味着在with语句的代码块内部,每个变量首先被认为是一个局部变量,而如果在局部环境中找不到该变量的定义,就会查询location对象中是否有同名的属性。如果发现了同名属性,则以location对象属性的值作为变量的值。严格模式下不允许使用with语句,否则将被视为语法错误