javascript - JavaScript 中的全局变量问题

标签 javascript jquery json

我在 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/

相关文章:

javascript - 如何在用户滚动到页面末尾时显示一个 div?

json - FOR JSON PATH 与 FOR JSON AUTO SQL Server

javascript - blockUI 试图实现您的请求正在处理弹出窗口仅在调试时在服务器上不起作用

javascript - 当我在字符串上使用 .split 和 .length 来查找某个字符在字符串中出现的次数时,为什么输出数字总是少一?

javascript - Laravel - 如何在 Javascript 中使用 Controller 的返回值?

javascript - Jquery .load/.empty 不从 div 加载和清空内容

javascript - Jquery 来检查复选框仅在您第一次单击它时起作用

javascript - 创建一个 DIV onclick

json - 类没有实例 getter -JSON模型

javascript - 如何在 ng-repeat angularjs 中使用多重响应?