在MVC中View中遇到了这个问题,就是js中数字相加的时候,老是加不到一起:
<span style="font-size:18px;"> function Table() { var z=0; for (var i = 0; i < 3;i++) { <span style="font-family:Calibri;">z</span><span style="font-family:SimSun;">.push(i);</span>//试了用</span><span style="font-size:18px;">z += i; } alert(z); } </span>
上面两种方法都不是正确的,正确的应该是这样的:
<span style="font-size:18px;"> function Table() { var z=0; for (var i = 0; i < 3;i++) { z = z + i; } alert(z); } </span>
后来查了查就是push和+=其实都是字符串中进行连接的,不是用来给数字相加的。
push对象:
Array对象
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。
push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。
举个例子:
<span style="font-size:18px;"><script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr + "<br />") document.write(arr.push("James") + "<br />") document.write(arr) </script></span>
输出:
George,John,Thomas 4 George,John,Thomas,James
push和+=都是连接字符串的,但是也是有区别的:
push是就算是字符串,用的也是字符串数组。+=只能用于字符串的直接追加。
这样我们看一个例子就可以区分出来它们了:
var a=[0]; a.push(11); a += "11";
这样我们得到的结果是:
a=[0,11]
a=[011]
这样是不是就有区别了。
时间: 2024-10-04 10:44:53