默认情况下,ASP使用 VBScript 作为它的脚本语言。这里我说一下 vbscript 对 + 运算符的处理方式。
在大多数情况下,+被用来执行两个数值表达的加法运算,这个时候,+两端的表达式都是数值类型的。这是第一种情况。
第二种情况:如果两端都是字符串,+ 也能正常工作——它用来将两个字符串连接起来。
第三种情况:如果 + 一端是数值类型,一端是非数值类型,则 VBScript 会试图将非数值类型转为数值类型,再做相加(不是连接)运算。这个时候如果转换失败,就会返回错误。& 不一样,它总是把两端做连接操作,即使 & 一端是数值类型,一端是字符串类型,也可以返回正确结果,这就是 & 被推荐用来做字符串连接的原因。
对于其他的类型,Microsoft 文档描述如下:
引用:
如果一个表达式或两个表达式都为 Null 表达式,则 result 为 Null。如果两个表达式都为Empty,则 result 为 Integer 子类型。但是如果一个表达式为 Empty,则返回另一个表达式作为 result。