with语句的作用是将代码的作用域设置到一个特定的对象中。语法如下:
with (表达式) 语句
例如:
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
使用with语句可变成:
with(location) {
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}
使用with语句关联了location对象。意味着在with语句的代码块内部,每个变量首先被认为是一个局部变量,如果在局部环境中找不到该变量的定义,就会查询location对象中是否有同名的属性,如果发现了同名的属相,则以location对象属性的值作为变量的值。
但是在严格模式下不允许使用with语句,否则视为语法错误。
不建议使用with,由于会给调试代码造成困难。