在JS中,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语句会报错。所以建议没什么 必要不要用with语句
实例扩充:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>With语句(类似于VB中的)</title> <script type="text/javascript"> function Student(name, age) { this.name = name; this.age = age; } var stu = new Student('罗纳尔多', 36); with (stu) { //With语句(类似于VB中的),用于简化代码 alert("Name:" + name + ",Age:" + age); } </script> </head> <body> </body> </html>
以上就是小编整理分享的全部知识点内容,感谢大家的支持。