原型結構中的變量可以在所有實例中具有相同的值嗎?在我的情況下,我需要加載Google API,但我想確保腳本只加載一次。Javascript原型共享變量
SharedVariable.prototype.createCache = function (key, requestFunction, callback) {
// <-- this.cache should be a variable shared across all instances
if (!this.cache[ key ]) {
this.cache[ key ] = $.Deferred(function(defer) {
requestFunction(defer);
}).promise();
}
return this.cache[ key ].done(callback);
}
createCache
有三個參數:
key
基本腳本requestFunction
的SRC是一家只有每key
調用一次函數。callback
是一種被稱爲多次
這一功能僅this.cache
是一個「全局」變量,它應該在所有情況下的值相同工作的功能。目前它對每個實例都有不同的值,這就是代碼工作不正常的原因。類似於原型的可能性?
您是否正在創建「SharedVariables」的「實例」?或者你想讓所有「SharedVariables」共享一個屬性?請使班級名稱明確無誤。 – Bergi
@Bergi在我的小提琴中,我創建了兩個實例('新的SharedVariables')。每個實例都有一個名爲「cache」的變量。我希望「緩存」在所有實例中具有相同的值。 – Daniel