|
蓝森林 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中如果是相连的运算用&要安全的多,而+可能会造成,系统不知道相连的对象是否需要转化成数值型数据,从而造成错误。
|
|