javascript的with表示什么?

JavaScript014

javascript的with表示什么?,第1张

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

with(object instance)

{

//代码块

}

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

with(objInstance)

{

var str = 属性1

.....

} 去除了多次写对象名的麻烦。

举例:

<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

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

它的语法:

with(expression)statement例如:

varsMessage="hello"

with(sMessage){

alert(toUpperCase())//输出"HELLO"

}

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

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