Javascript 如何通过构造函数在另一个对象下设置对象
我有一个建筑工,就是这样Javascript 如何通过构造函数在另一个对象下设置对象,javascript,class,object,inheritance,constructor,Javascript,Class,Object,Inheritance,Constructor,我有一个建筑工,就是这样 function foo() { this.bar = function() { return "fubar"; } } 当我调用newfoo().bar()时,这里没有问题 但是如果我想做这样的东西 function foo() { this.bar = function() { function subbar() { return "subbar"; };
function foo() {
this.bar = function() {
return "fubar";
}
}
当我调用newfoo().bar()时,这里没有问题代码>
但是如果我想做这样的东西
function foo() {
this.bar = function() {
function subbar() {
return "subbar";
};
}
}
我试过下面的版本,但都不管用
function foo() {
this.bar = function() {
this.bar.subbar() {
return "subbar";
};
}
}
function foo() {
this.bar = function() {
this.bar.prototype.subbar() {
return "subbar";
};
}
}
如何访问subbar,如new foo().bar().subbar()
您想要的是返回一个附加了函数的对象
function foo() {
this.bar = function() {
return {
subbar: function() {
return 'subbar';
}
};
};
}
您想要的是返回一个附加了函数的对象
function foo() {
this.bar = function() {
return {
subbar: function() {
return 'subbar';
}
};
};
}
只需返回具有最内部函数的对象:
function foo() {
this.bar = function() {
return { subbar: function subbar() {
return "subbar";
};
}
}
}
或者,您可以只返回不带对象的函数:
function foo() {
this.bar = function() {
return function subbar() {
return "subbar";
};
}
}
然后您可以这样调用它:this.bar()
第二组参数调用返回的subbar()
函数
由于函数是对象,因此当调用bar()
时,返回值将是函数subbar()
仅返回具有最内部函数的对象:
function foo() {
this.bar = function() {
return { subbar: function subbar() {
return "subbar";
};
}
}
}
或者,您可以只返回不带对象的函数:
function foo() {
this.bar = function() {
return function subbar() {
return "subbar";
};
}
}
然后您可以这样调用它:this.bar()
第二组参数调用返回的subbar()
函数
由于函数是对象,因此当调用bar()
时,返回值将是函数subbar()
您希望发生什么?最后两个是无效语法。我希望像nerw foo().bar().subbar()一样到达subbar(),就像在许多本机函数中一样。答案都是正确的,您必须在返回时公开它,我建议你看看JS中的模块模式:如果没有更多关于你想要实现的预期行为的信息,很难回答……我真的不明白为什么这个问题会被忽略,你期望发生什么?最后两个是无效语法。我希望像nerw foo().bar().subbar()一样到达subbar(),就像在许多本机函数中一样。答案都是正确的,您必须在返回时公开它,我建议你看看JS中的模块模式:如果没有更多关于你想要实现的预期行为的信息,很难回答……我真的不明白为什么这个问题会被忽略