为什么jQuery扩展方法不能复制我的javascript对象?

Rai*_*l24 3 javascript ajax jquery json object

我在这里看了很多关于克隆和复制javascript对象的帖子,特别是这两个主题:

不过,这似乎对我不起作用.

这是我正在使用的一段代码:

var copiedObject = {};

$.getJSON(URL, null, function (data) {
     copiedObject = jQuery.extend(true, {}, data);
});

console.log(JSON.stringify(copiedObject));
Run Code Online (Sandbox Code Playgroud)

如果我在JSON调用中有我的控制台日志功能,它会输出正确的值,但在函数之后,它会被清空并输出{}.

我试过使用copiedObject = JSON.parse(JSON.stringify(data)),以及clone(obj)"在Javascript中复制一个对象"的功能,一切都无济于事.

我错过了什么吗?

jAn*_*ndy 8

$.getJSON触发Ajax请求,默认情况下运行asyncronous.您的console.log意愿将在请求完成之前触发.通过将控制台输出移动到回调中来修复它.

$.getJSON(URL, null, function (data) {
     copiedObject = jQuery.extend(true, {}, data);
     console.log(JSON.stringify(copiedObject));
});
Run Code Online (Sandbox Code Playgroud)