这不是关于"如何"但是"为什么"
我在Chrome浏览器中观察到了一些wird对象行为(36.0.1985.125)。 如果我将对象复制到不同变量并更改该复制数据原始对象发生更改。
这怎么可能?
以下是重要的代码:
var argsForNewAjax = false;
function news_ajax(args, id){
var ajaxStartTime = new Date().getTime();
var temp = argsForNewAjax;
if(argsForNewAjax){
args = argsForNewAjax;
}
else{
args.action = "get_news";
args.numberposts = (isDefined(args.numberposts) ? args.numberposts : 4);
}
argsForNewAjax = jQuery.extend({}, args); //if i change this line to the one comented
//argsForNewAjax = args
argsForNewAjax.offset = argsForNewAjax.offset + args.numberposts;
console.log(args);
$.ajax({
//JQ ajax ...
使用jquery.extend
的结果widouth jquery
所以我的问题是,如果它在JS中复制更改,价值怎么会改变?