我想创建一个对象,它是每个字符串的单例。例如,当我调用 myObject("string1")
时,它总是返回相同的对象,但与 myObject("string2")
不同。
最佳答案
我认为您想做这样的事情(按照您的 myObject(name)
API 示例):
var myObject = (function (){
var objects = {
"myString1": {
name: "myString One Object"
//...
},
"myString2": {
name: "myString Two Object"
//...
}
};
//...
return function (name) { // the actual function
return objects[name]; // that retrieves the object
}; // by its "name" (e.g. 'myString1')
})();
myObject("myString1").name; // "myString One Object"
myObject("myString1") === myObject("myString1"); // true, the same object ref.
myObject("myString2").name; // "myString Two Object"
关于每个字符串的javascript单例对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6516635/