JavaScript中with语句的主要作用是将代码的作用域设置到一个特定的对象中,简化多次编写同一个对象的工作。

语法

with(expression) statement;

作用是将代码Statement的作用域设置到特定的对象expression中。目的是简化多次编写同一个对象的工作

示例

不使用with语句的情况下使用如下表达方式:

var screenWidth  window.screen.width;
var screenHeight = window.screen.height;

当上面赋值语句很多时,右侧表达就显得冗长,于是可以通过with语句进行简单书写:

with(window.screen){
var screenWidth = width;
var screenHeight = height;
}

在这个使用width重写的例子中,使用width关联了window.screen对象,这意味着再width内部,每个变量首先被认定为一个局部变量,而如果在局部环境中找不到改变辆的定义,就会查询window.screen对象中是否有同名的属性。如果有,则以同名属性值作为变量的值。

再比如下面的常用表达:

JavaScript中的with语句使用说明_语法错误


注意事项

  • 严格模式下不允许使用with语句,否则视为语法错误
  • 大量使用with会导致性能下降,也会给代码调试带来困难,所以大型项目不建议使用


引用

​https://jingyan.baidu.com/article/fdffd1f870f570f3e88ca177.html​

​https://blog.csdn.net/qq_52856519/article/details/128641991​