ASP byval byref 区别

1、ByVal传值:一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。
2、ByRef传值:一种将参数地址而不是将值传递给过程的方式,这就使过程访问到实际的变量。结果,过程可改变变量的真正值。除非另作说明,否则按地址 传递参数。 
3、系统默认的是ByRef传值。

例子:
<SCRIPT  LANGUAGE="vbScript"> 
  dim  a 
  a=0 
  document.write  "a=0" 
  document.write  "<br/>sub  change(byref  ar)<br/>" 
  change  a   
  document.write  a 
  a=0 
 
  document.write  "<br/>sub  change2(ByVal  ar)<br/>" 
  change2  a   
  document.write  a 
  a=0 
 
  document.write  "<br/>sub  change3(  ar)<br/>" 
  change3  a   
  document.write  a 
  a=0 
 
  document.write  "<br/>function  change4(byref  ar)<br/>" 
  change4  a   
  document.write  a 
  a=0 
 
  document.write  "<br/>function  change5(ByVal  ar)<br/>" 
  change5  a   
  document.write  a 
  a=0 
 
  document.write  "<br/>function  change6(  ar)<br/>" 
  change6  a   
  document.write  a 
  a=0 
 
  sub  change(byref  ar) 
  ar=111 
  end  sub 
 
  sub  change2(ByVal  ar) 
  ar=222 
  end  sub 
 
  sub  change3(  ar) 
  ar=333 
  end  sub 
 
  function  change4(byref  ar) 
  ar=444 
  end  function 
 
  function  change5(ByVal  ar) 
  ar=555 
  end  function 
 
  function  change6(  ar) 
  ar=666 
  end  function 
 
  </SCRIPT>
=======================
结果:

a=0 
  sub  change(byref  ar) 
  111 
  sub  change2(ByVal  ar) 
  0 
  sub  change3(  ar) 
  333 
  function  change4(byref  ar) 
  444 
  function  change5(ByVal  ar) 
  0 
  function  change6(  ar) 
  666 
 
  说明vbs默认是byRef,这点和VB一样,  按地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值