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一樣,  按地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章