在 John Resig 关于Javascript 中的简单“类”实例化的帖子中,他指出:
“...如果您有一个希望人们与之交互的经常访问的函数(返回一个对象),那么将对象属性放在原型链中并实例化它对您有利。这里是,在代码中:"
// Very fast
function User(){}
User.prototype = { /* Lots of properties ... */ };
// Very slow
function User(){
return { /* Lots of properties */ };
}
我想将此应用于如下函数(恰好位于“类”声明中)
//...
this.get_subscription = function(args)
{
return {
property_one: "value",
property_two: {
sub_prop: args.something
}
}
}
但不知道将参数放在哪里。如果我做
this.get_subscription = function(args) {}
this.get_subscription.prototype = {
property_one: "value"
//...
}
它会说 args 是未定义的。我已经尝试了几种变体,但都不起作用。我应该如何正确地做到这一点,而不是将 args 放在父类的范围内?