首页 > 代码库 > 避免使用 JS 特性 with(obj){}
避免使用 JS 特性 with(obj){}
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
JavaScript提供了一个with语句,本意是想用它来快捷地访问对象的属性,不幸的是,它的结果可能有时不可预料,所以应该避免使用它
例如
with (obj) { a = b }
它等于这些语句中的某一条,
a = b; a = obj.b obj.a = b obj.b = obj.a
你无法辨别出得到的是这些语句中的哪一条,而且with本身严重影响了Javascript处理器的速度,它的本意是好的,但如果没有它,Javascript语言会更好一点。
避免使用 JS 特性 with(obj){}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。