ECMAScript with 语句

懵懂的女人 提交于 2020-10-28 16:44:55

有标签的语句

with 语句用于设置代码在特定对象中的作用域。

它的语法:

with (expression) statement

例如:

var sMessage = "hello";
with(sMessage) {
  alert(toUpperCase()); //输出 "HELLO" }

在这个例子中,with 语句用于字符串,所以在调用 toUpperCase() 方法时,解释程序将检查该方法是否是本地函数。如果不是,它将检查伪对象 sMessage,看它是否为该对象的方法。然后,alert 输出 "HELLO",因为解释程序找到了字符串 "hello" 的 toUpperCase() 方法。

提示:with 语句是运行缓慢的代码块,尤其是在已设置了属性值时。大多数情况下,如果可能,最好避免使用它。



1)简要说明 
with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象。 

2)语法格式 
with(object instance) 

//代码块 

有时候,我在一个程序代码中,多次需要使用某对象的属性或方法,照以前的写法,都是通过:对象.属性或者对象.方法这样的方式来分别获得该对象的属性和方法,着实有点麻烦,学习了with语句后,可以通过类似如下的方式来实现: 
with(objInstance) 

var str = 属性1; 
..... 
} 去除了多次写对象名的麻烦。 

3)举例 
<script language="javascript"> 
<!-- 
function Lakers() { 
this.name = "kobe bryant"; 
this.age = "28"; 
this.gender = "boy"; 

var people=new Lakers(); 
with(people) 

var str = "姓名: " + name + "<br>"; 
str += "年龄:" + age + "<br>"; 
str += "性别:" + gender; 
document.write(str); 

//--> 
</script> 
代码执行效果如下: 
姓名: kobe bryant 
年龄:28 
性别:boy

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!