Javascript JS newb:我的函数什么都不做
你知道我怎样才能让它工作吗Javascript JS newb:我的函数什么都不做,javascript,function,Javascript,Function,你知道我怎样才能让它工作吗 const TAX_RATE = 0.08; var purchase_amount = 10; function addTax(amt) { amt += amt * TAX_RATE; } addTax( purchase_amount ); console.log( purchase_amount ); 在addTax函数中重新分配amt不会影响函数之外的任何内容,因此您需要返回新值,并在调用函数时将其分配给purchase\u amount c
const TAX_RATE = 0.08;
var purchase_amount = 10;
function addTax(amt) {
amt += amt * TAX_RATE;
}
addTax( purchase_amount );
console.log( purchase_amount );
在
addTax
函数中重新分配amt
不会影响函数之外的任何内容,因此您需要返回新值,并在调用函数时将其分配给purchase\u amount
const TAX\u RATE=0.08;
购买金额=10;
功能附加税(金额){
返回金额+金额*税率;
}
采购金额=增值税(采购金额);
控制台日志(采购金额)代码>在addTax
函数中重新分配amt
不会影响函数之外的任何内容,因此您需要返回新值,并在调用函数时将其分配给purchase\u amount
const TAX\u RATE=0.08;
购买金额=10;
功能附加税(金额){
返回金额+金额*税率;
}
采购金额=增值税(采购金额);
控制台日志(采购金额)代码>从函数返回值。amt
仅成为函数内部的局部变量
const TAX\u RATE=0.08;
var购买金额=10;
功能附加税(金额){
金额+=金额*税率;
返回金额;
}
var newAmt=增值税(采购金额);
控制台日志(newAmt)代码>从函数返回值。amt
仅成为函数内部的局部变量
const TAX\u RATE=0.08;
var购买金额=10;
功能附加税(金额){
金额+=金额*税率;
返回金额;
}
var newAmt=增值税(采购金额);
控制台日志(newAmt)代码>Javascript不通过引用传递参数,因此必须从函数返回所需的值,或者将对象引用作为值传递给函数。选中。Javascript不会通过引用传递参数,因此必须从函数返回所需的值,或者将对象引用作为值传递给函数。检查。当其他答案正确时,JavaScript是按值传递的,而不是按引用传递的。对于对象来说,情况并非如此
我不确定JavaScript为什么会这样做(其他人可能能够更好地解释确切的推理),但当您将对象传递到函数中时,原始对象会在函数中被修改
因此,如果您要这样做,这将不必设置任何外部值。这在使用自定义类对象的情况下尤其有用
功能添加税(obj){
如果(obj[‘税率’]=“未定义”)申报表的类型;
obj['cost']=obj['cost']+(obj['cost']*obj['tax_rate']);
删除obj[‘税率’];
}
var myTaxObject={
费用:10,
税率:0.08
}
addTax(myTaxObject);
console.log(myTaxObject)代码>虽然其他答案是正确的,但JavaScript是按值传递的,而不是按引用传递的。对于对象来说,情况并非如此
我不确定JavaScript为什么会这样做(其他人可能能够更好地解释确切的推理),但当您将对象传递到函数中时,原始对象会在函数中被修改
因此,如果您要这样做,这将不必设置任何外部值。这在使用自定义类对象的情况下尤其有用
功能添加税(obj){
如果(obj[‘税率’]=“未定义”)申报表的类型;
obj['cost']=obj['cost']+(obj['cost']*obj['tax_rate']);
删除obj[‘税率’];
}
var myTaxObject={
费用:10,
税率:0.08
}
addTax(myTaxObject);
console.log(myTaxObject)代码>