- ·上一篇文章:Persits.Jpeg.1错误800a0004 AspJpeg组件过期解决方法
- ·下一篇文章:asp教程:去掉一组字符串中的重复数字
asp函数和过程中参数ByVal与ByRef的区别
先来比较两个asp实例
看完了,上面的比较就知道说明意思了吧。
Byval和ByRef两者区别:
1、ByVal传值:一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。
2、ByRef传值:一种将参数地址而不是将值传递给过程的方式,这就使过程访问到实际的变量。结果,过程可改变变量的真正值。除非另作说明,否则按地址传递参数。
3、系统默认的是ByRef传值。
总结:
ByVal是传递值 源数据不会被修改,你可以把这个值当作自己的局部变量来使用;ByRef是传递地址,源数据可能被修改,你对这个变量的操作将对你传入的那个变量产生影响,就像指针的感觉。
  文件名称: | ByVal.asp  |   ByRef.asp |
  具体代码: | < Sub TestBy(ByVal T) | < % Dim A : A=5 Call TestBy(A) Response.write A Sub TestBy(ByRef T) |
  运行结果: |   5 |   6 |
  结 论: |   注意:子程序TestBy(ByVal T)中T变量声明方式是ByVal   运行结果子程序没有影响到A的值 |   注意:子程序TestBy(ByRef T)中T变量的声明方式是ByRef   运行结果A的值通过子程序发生了改变 |
Byval和ByRef两者区别:
1、ByVal传值:一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。
2、ByRef传值:一种将参数地址而不是将值传递给过程的方式,这就使过程访问到实际的变量。结果,过程可改变变量的真正值。除非另作说明,否则按地址传递参数。
3、系统默认的是ByRef传值。
总结:
ByVal是传递值 源数据不会被修改,你可以把这个值当作自己的局部变量来使用;ByRef是传递地址,源数据可能被修改,你对这个变量的操作将对你传入的那个变量产生影响,就像指针的感觉。
asp函数和过程中参数ByVal与ByRef的区别