with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象。
2)语法格式
with(object instance)
{
//代码块
}
举例如下:
<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-->
var obj = {
x: 10,
foo: function () {
with(this) {
var x = 20; // with也可以理解为一个函数,
// 其实var x;这就话是没有用的(执行上下文),因为这个作用域下面有x,注意this这里参数,这个是按共享传递,
var y = 30;
}
}
}
obj.foo();
console.log(obj.x); // 20
console.log(obj.y); // undefined