Если эти объекты создаются, но не уничтожены, вы можете иметь функцию конструктора для массива для вас и подключить случайную функцию в том, что:
var CreateObject = (function() {
var created = [];
var CreateObject = function(name) {
this.name = name;
created.push(this);
};
CreateObject.random = function() {
return created[Math.floor(created.length * Math.random())];
}
return CreateObject;
}())
var bob = new CreateObject("Bob");
var john = new CreateObject("John");
var rob = new CreateObject("Rob");
var steven = new CreateObject("Steven");
CreateObject.random(); // CreateObject {name: "Rob"}
CreateObject.random(); // CreateObject {name: "Steven"}
CreateObject.random(); // CreateObject {name: "Rob"}
CreateObject.random(); // CreateObject {name: "John"}
// etc.
Этот метод также может быть расширена, чтобы обеспечить удаление, но вам нужно как-то явно указать функции конструктора, что объекты будут удалены. В противном случае ваша случайная функция будет работать не только должным образом, но и утечка памяти.
(Обратите внимание, что это точно не функция конструктора, которая хранит массив. Он хранится в затворе, что функция конструктор имеет доступ.)
идти дальше, бросить его в массив, вы можете сделать это –
Должен это, например, «var bob = CreateObject (« Bob »);'? –
Почему мой вопрос был изменен, поэтому CreateObject был удален до («Боб»)? – ECMAScript