Vbscript可以按引用传递参数吗?
比如说
functionddd(str)
str=str&"12345"
endfunction
abc="54321"
想通过ddd(abc),把abc变成“5432112345”
要怎么改动才行呢?
回答:
- <script language=vbs>
- function ddd(str)
- str=str & "12345"
- end function
- abc="54321"
- ddd abc
- msgbox abc
- </script>
没发现要改动的地方啊
其实vbscript默认的传递参数方式就是byref,如果要传值,反倒要写成
functionddd(byvalstr)
...
但是在JS中调用VBS定义的函数时,参数则是按值传递,指明byRef也没有用
如果要改变值,可以用对象包装起来,如
- <script language=vbs>
- sub chgArg(a)
- a.x=100
- a.y=100
- end sub
- </script>
- <script language=jscript>
- var t={x:0,y:0,show:function(){alert("this.x="+this.x+",this.y="+this.y)}}
- t.show();
- chgArg(t);
- t.show();
- </script>