我在 JavaScript 中使用全局变量的问题
大家好,我遇到了 JavaScript 中全局变量的问题。我的问题如下。
为什么每当我修改其他输入变量“data”时,全局变量“g_MobileAssociatedPlans”就会更新。
var g_MobileAssociatedPlans = "";
$(function () {
var data = { "Item1": "Burger", "Item2": "Soft Drink" };
displayMobileDevices(data);
});
function displayMobileDevices(data) {
g_MobileAssociatedPlans = data;
alert(JSON.stringify(g_MobileAssociatedPlans));
data.Item1 = "Wine";
alert(JSON.stringify(g_MobileAssociatedPlans));
}
请查看上面的示例并查看它并向我回复问题。 谢谢!
最佳答案
因为您分配的是对象而不是值,所以它将分配对象引用,为了获得所需的输出,您必须克隆对象
g_MobileAssociatedPlans = JSON.parse(JSON.stringify(data));
或者
g_MobileAssociatedPlans = jQuery.extend({}, data);
<强> Fiddle
关于javascript - JavaScript 中的全局变量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30755038/