javascript中with语句的用法浅析

发布时间:2021-01-16编辑:脚本学堂
本文介绍下,javascript中的with语句的用法,用于将代码的作用域设置到一个特定的对象中。有需要的朋友参考下吧。

javascript中with语句,用于将代码的作用域设置到一个特定的对象中。

在之前的文章中,我们也曾介绍过一篇有关with语句的文章:Javascript 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语句会导致性能下降,同时也会给调试代码造成困难,因此在开发大型应用程序时,建议避免使用with语句。