需要帮助了解我的JavaScript函数有什么问题吗 功能光度(太阳光单位){ var solar=太阳能单位*(3.846*10**26); var太阳质量=(1.989*10**30); 太阳光度=(3.846*10**26); var质量; 如果(太阳能>(10**-5)| |太阳能

需要帮助了解我的JavaScript函数有什么问题吗 功能光度(太阳光单位){ var solar=太阳能单位*(3.846*10**26); var太阳质量=(1.989*10**30); 太阳光度=(3.846*10**26); var质量; 如果(太阳能>(10**-5)| |太阳能,javascript,Javascript,我得到的错误是: VM108:8未捕获类型错误:sunMass不是函数 光度(:8:20) 14时13分 谢谢你的帮助 在这行:质量=((太阳质量)((1/1.5)**(1/3.5))((太阳/太阳光度)**(1/3.5))在(sunMass)之后以及之后((1/1.5)**(1/3.5))没有操作员。这就是为什么你会出错 如果您添加公式所需的运算符,它将起作用,例如,如果您将其更改为:mass=((太阳质量)*((1/1.5)**(1/3.5))*((太阳/太阳光度)**(1/3.5)) 结果

我得到的错误是:

VM108:8未捕获类型错误:sunMass不是函数 光度(:8:20) 14时13分


谢谢你的帮助

在这行:
质量=((太阳质量)((1/1.5)**(1/3.5))((太阳/太阳光度)**(1/3.5))
(sunMass)
之后以及
之后((1/1.5)**(1/3.5))
没有操作员。这就是为什么你会出错

如果您添加公式所需的运算符,它将起作用,例如,如果您将其更改为:
mass=((太阳质量)*((1/1.5)**(1/3.5))*((太阳/太阳光度)**(1/3.5))


结果是:
1.7714259188419855e+30

sunMass
之后有一组参数,将被解释为函数调用操作符。你的意思是在那里执行乘法吗?你缺少一个
*
。在询问之前,请先阅读错误。乘法在编程中不是隐含的。谢谢您的帮助!我很感激!
function luminosity(solar_units){
    var solar = solar_units * (3.846*10**26);
    var sunMass = (1.989*10**30);
    var sunLuminosity = (3.846*10**26);
    var mass;

if (solar > (10**-5) || solar < (10**5)) {
    mass = ((sunMass)((1/1.5)**(1/3.5))((solar/sunLuminosity)**(1/3.5)));
    return mass;
};

}

console.log(luminosity(1));