将函数返回值赋给Javascript函数中的值

将函数返回值赋给Javascript函数中的值,javascript,function,Javascript,Function,下面是我遇到的问题的一个简化示例 功能部件(价格、数量){ 这个价格=价格; 该数量=数量; this.value=函数(){ 返回此价格*此数量 } } var fancyPart=新零件(2,3); console.log(fancyPart.value)尝试console.log(fancyPart.value())…调用函数 功能部件(价格、数量){ 这个价格=价格; 该数量=数量; this.value=函数(){ 返回此价格*此数量 } } var fancyPart=新零件(2

下面是我遇到的问题的一个简化示例

功能部件(价格、数量){
这个价格=价格;
该数量=数量;
this.value=函数(){
返回此价格*此数量
}
}
var fancyPart=新零件(2,3);
console.log(fancyPart.value)
尝试
console.log(fancyPart.value())…
调用函数

功能部件(价格、数量){
这个价格=价格;
该数量=数量;
this.value=函数(){
返回此价格*此数量
}
}
var fancyPart=新零件(2,3);

console.log(fancyPart.value())
您可以从构造函数将该值指定为函数

this.value=函数(){ 返回此价格*此数量 }

因此,当您尝试记录fancyPart.value时,实际上是在记录函数,而不是它的调用


如果在value之后加上“()”,则实际上会调用函数并获得预期的求值(即,对于fancypants.value,为6)

您可以使用类语法并将value作为getter添加:

类零件{
建造商(价格、数量){
这个价格=价格;
该数量=数量;
};
//将值作为getter实现
获取值(){
返回此价格*此数量
};
}
var fancyPart=新零件(2,3);
//不需要参数列表

console.log(fancyPart.value)
或者您可以使用不同的

功能部件(价格、数量){
这个价格=价格;
该数量=数量;
this.value=函数(){
返回此价格*此数量
}
}
var fancyPart=新零件(2,3);

console.log(fancyPart.value.call(fancyPart))
console.log(fancyPart.value())
-您必须调用该函数。@Pointy。。。谢谢这是很明显的。或者您可以将值作为一个变量来实现。;-)谢谢这就是我试图做的——只是使用了不正确的术语。