为什么这两个脚本的行为不同?我想使用第一个脚本,但在第二个drawData()
调用中它会改变data
;这很奇怪,不是我想要发生的。第二个脚本没有这个问题。为什么会这样,我该如何修复第一个脚本?
第一个脚本没有改变data
:
var data = ["right"];
function drawData(arrs, type) {
if (type == "percentage") {
arrs[0] = "omg";
}
console.log(data[0]); // Changed!?
}
drawData(data);
drawData(data, "percentage");
第二个脚本:
var data = "right";
function drawData(arrs, type) {
if (type == "percentage") {
arrs = "omg";
}
console.log(data); // OK, not changed.
}
drawData(data);
drawData(data, "percentage");