2 つのスクリプトの動作が異なるのはなぜですか? 最初のスクリプトを使用したいのですが、2 番目のdrawData()
呼び出しでは変更されdata
ます。それは奇妙で、私が望んでいることではありません。2 番目のスクリプトには、この問題はありません。なぜそうなのか、最初のスクリプトを修正するにはどうすればよいですか?
最初のスクリプトは変更されませんdata
:
var data = ["right"];
function drawData(arrs, type) {
if (type == "percentage") {
arrs[0] = "omg";
}
console.log(data[0]); // Changed!?
}
drawData(data);
drawData(data, "percentage");
2 番目のスクリプト:
var data = "right";
function drawData(arrs, type) {
if (type == "percentage") {
arrs = "omg";
}
console.log(data); // OK, not changed.
}
drawData(data);
drawData(data, "percentage");