【发布时间】:2017-01-03 05:24:33
【问题描述】:
这里a 和b 的输出相同,但在 slice() 的情况下,我们没有传递任何参数,因此a、b 和c 的输出必须相同。那么为什么c 的输出与这里的a 和b 不同呢?
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p id="1"></p>
<p id="2"></p>
<p id="3"></p>
<p id="4"></p>
<script>
var a=["a","b","c"];
var b=a;
var c=a.slice();
a.push("date");
document.getElementById("1").innerHTML=a;
document.getElementById("2").innerHTML=b;
document.getElementById("3").innerHTML=c;
document.getElementById("4").innerHTML=a;
</script>
</body>
</html>
输出:
a,b,c,date
a,b,c,date
a,b,c
a,b,c,date
【问题讨论】:
-
您在将新值推送到“日期”数组之前对原始数组进行切片
标签: javascript slice