164
rated 0 times
[
171]
[
7]
/ answers: 1 / hits: 68340
/ 15 Years ago, fri, october 16, 2009, 12:00:00
I think the following code will make the question clear.
// My class
var Class = function() { console.log(Constructor); };
Class.prototype = { method: function() { console.log(Method);} }
// Creating an instance with new
var object1 = new Class();
object1.method();
console.log(New returned, object1);
// How to write a factory which can't use the new keyword?
function factory(clazz) {
// Assume this function can't see Class, but only sees its parameter clazz.
return clazz.call(); // Calls the constructor, but no new object is created
return clazz.new(); // Doesn't work because there is new() method
};
var object2 = factory(Class);
object2.method();
console.log(Factory returned, object2);
More From » oop