我有以下简单的脚本.
<script>
SPC = {
a : [10],
b : 10,
t: function()
{
y = this.a;
z = this.b;
y[0]++;
z++;
alert('this.a[0] = ' + this.a[0] + '\nthis.b = ' + this.b)
}
}
SPC.t();
SPC.t();
</script>
Run Code Online (Sandbox Code Playgroud)
在浏览器中运行它将显示两个警告框:
this.a [0] = 11 this.b = 10
和
this.a [0] = 12 this.b = 10
问题是,为什么this.a [0]的值会增加?我正在指定"y = this.a"并将"y"的元素更新为"y [0] ++;"?
与此同时,"b"发生了同样的事情:"z = this.b; z ++".然而,"this.b"仍然等于10.
如何在不影响"this.a"的情况下更改本地范围中"y [0]"的值?
有任何想法吗?
谢谢!
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |