以下结果是在IE8的测试结果

我只测试了变量相加,还没测试变量和常量

1.当两个变量(已经赋初值 )用“+”连接,如果含有至少一个为字符串 ,无论两个字符串是否定义时有var或者有一个有var,则结果必定为字符串。

2.当两个变量(已经赋初值 )用“+”连接,如果都为数字是结果如下:

<1>demo.html

<script>

var name=123;

var a=1;

name=name+a;

alert(name);

</script>

结果为:124

<2>demo.html

<script>

var name=123;

 a=1;

name=name+a;

alert(name);

</script>

结果为:124

<3>demo.html

<script>

 name=123;

 a=1;

name=name+a;

alert(name);

</script>

结果为:1231

<4>demo.html

<script>

 name=123;

var a=1;

name=name+a;

alert(name);

</script>

结果为:1231

结论如下:

当name定义时,有var 结果就是相加

当name定义时,没有var 结果就是字符串连接

刚我有做了 如下测试

<3>demo.html

<script>

 b=1;

 a=123;

a=a+b;

alert(a);

</script>

结果为:124

不知为何 ?

如有人知道 请指导..