在我的应用程序中,当我将数据传递给不同的对象时,我不确定是否会出现数据重复。只是举个例子,请看以下代码:
var DataStore = function(data) {
this.data = data; // <-- typeof data === 'object'
}
var Controller = function() {
var dataStore = new DataStore({foo: 'bar'});
var plugin = new Plugin(dataStore.data);
}
var Plugin = function(data) {
this.data = data;
}
var app = new Controller();
当我创建插件时,数据属性从dataStore传递进来。然后被分配给Plugin内部的一个属性。请记住,传递的数据是一个对象,我的问题是,这样做是在内存中创建了两个变量,还是Plugin中的数据属性引用DataStore对象中的属性?
如果赋值后它不保留引用,我如何将DataStore传递到插件中并在本地保留引用?或者我需要将DataStore作为全局变量保存在应用程序范围内,并从插件中全局引用它吗?