js的with语句使用方法

本文详细介绍了JavaScript中with语句的用法,包括其语法结构、简化代码输入的优势及潜在性能问题。并通过实例展示了如何利用with语句简化对对象属性的访问。

with语句的作用是暂时改变作用域链、减少的重复输入。

 

其语法结构为:

 

Js代码  收藏代码
  1. with(object){  
  2.       //statements  
  3. }  

 

举一个实际例子吧:

 

Js代码  收藏代码
  1. with(document.forms[0]){  
  2.        name.value = "lee king";  
  3.        address.value = "Peking";  
  4.        zipcode.value = "10000";  
  5. }  

与之对应的传统的写法是:

 

Js代码  收藏代码
  1. document.forms[0].name.value = "lee king";  
  2. document.forms[0].address.value = "Peking";  
  3. document.forms[0].zipcode.value = "10000";  

可以看出with语句的简洁明了,不过在代码的世界里是很难找到真正的完美。

 

js的解释器需要检查with块中的变量是否属于with包含的对象,这将使with语句执行速度大大下降,并且导致js语句很难被优化。为了兼顾速度与代码量可以找到一个比较折衷的方案:

 

Js代码  收藏代码
  1. var  form = document.forms[0];  
  2. form.name.value = "lee king";  
  3. form.address.value = "Peking";  
  4. form.zipcode.value = "10000";  

 

 所以在以后的高效代码开发中我们应该尽可能的避免使用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 

转载于:https://www.cnblogs.com/Shirley-He/p/5360037.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值