我在JavaScript中遇到了一个奇怪的问题。我有一个变量,我需要访问,因为我会在很多情况下使用该对象。我试图在新变量中添加动态属性,但无论出于何种原因,该全局对象的状态与开头不同。
function TodoCtrl($scope) {
var aOptions = {
'apple': {
source: { type: 'tree' },
color: 'white'
}
};
function addParams(params, option) {
params.source.property = option;
return params;
}
$scope.todos = addParams(aOptions.apple, 'new_option');
$scope.todos1 = addParams(aOptions.apple, 'new_option2');
}
以下是一个例子: http://jsfiddle.net/tzam0ed6/
我的$scope.todos
需要"new_option"
新值,而$scope.todos1
需要有新的"new_option2"
值,但出于某种奇怪的原因,它会覆盖当前对象。
请参阅@ TeoMor的答案。