蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年8月25日 8:28

+和&的问题

为什么把下面代码中的&换成+就无法显示了,+号和&在用法上有哪些异同?
<script language=vbs>
text="1234567890abcdefgh"
i=10

lentext=len(text)
lefttext=left(text,i)
righttext=right(text,i)

alert ("文本长度是:"&lentext)
alert ("文本左取"&i&" 得的是:"&lefttext)
alert ("文本右取"&i&" 得的是:"&righttext)
</script>

因为,alert(参数),他需要的是一个字符串的参数,vb中如果一个数字和和一个内容为数字的字符串进行相加的时候,会将字符串转换为数字,然后相加

比如vb中:
[code]
Private Sub Form_Click()
Print "3" + 1
End Sub
[/code]

结果是:4(计算过程是:先将3转换成数值型数据和1相加,然后结果转化成字符串型输出)

而:

[code]
Private Sub Form_Click()
Print "3" & 1
End Sub
[/code]

结果是:

31(计算过程:将1转化成字符串型数据和3相连组成新的字符串)


回到你的问题,alert(参数)和这里的print方法有点象,所以在vb中如果是相连的运算用&要安全的多,而+可能会造成,系统不知道相连的对象是否需要转化成数值型数据,从而造成错误。




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com