JavaScript语句-with语句

with语句

with语句的作用是将代码的作用域设置到一个特定的对象中。with语句的语法如下:

with(expresssion) 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语句,否则视为语法错误。

由于大量使用with语句会导致性能下降,同时也会给代码调试带来困难,因此在开发大型应用程序时,不建议使用with语句。

posted @ 2019-06-28 14:24  珍惜你的微笑  阅读(224)  评论(0编辑  收藏  举报