Asp中通过简单的例子理解下ByVal和ByRef的用法
文件名称:ByVal.aspByRef.asp具体代码:运行结果:56结论:注意:子程序TestBy(ByVal T)中T变量声明方式是ByVal运行结果子程序没有影响到A的值注意:子程序TestBy(ByRef T)中T变量的声明方式是ByRef运行结果A的值通过子程序发生了改变看完了,上面的比较
文件名称:ByVal.aspByRef.asp具体代码:运行结果:56结论:注意:子程序TestBy(ByVal T)中T变量声明方式是ByVal运行结果子程序没有影响到A的值注意:子程序TestBy(ByRef T)中T变量的声明方式是ByRef运行结果A的值通过子程序发生了改变看完了,上面的比较
实现代码如下: " & cc function getMyNumber(byref aa,byref bb,byref cc) aa=3 bb=4 cc =10 end function %>
1、ByVal传值:一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。2、ByRef传值:一种将参数地址而不是将值传递给过程的方式,这就使过程访问到实际的变量。结果,过程可改变变量的真正值。除非另作说明,否则按地址传递参数。3、系统默认的是ByRe
二者区别: byval 传递数值,实参和形参分处不同的内存单元,互不干扰!byref 传递地址,实参和形参占用相同的内存单元,形参变则实参变!!!!!! 通俗理解: byval 一去不复返byref 进去再出来,可能被更新!在JavaScript中: Boolean,Number,String型的参