我正在尝试创建一个可以与任何字符串一起重用的函数,将一个字符串作为第一个参数传递并将运算符连接到它,因为我正在尝试创建一个基本计算器并且我正在使用几个为运算符显示不同值的字符串(例如,用“x”代替“*”)。
let evalString = '';
let displayString = '';
let currentNumber = '5';
function concOperator(str, operator) {
str += currentNumber + ' ' + operator + ' ';
}
concOperator(evalString, '*');
concOperator(displayString, 'x');
console.log(evalString);
console.log(evalString);
所以我希望在调用函数后 evalString 为“5 *”,displayString 为“5 x”,但它返回空字符串。如何修复?
最佳答案
这是因为您没有在函数中返回任何内容,也没有将其分配给变量。实际上,str
在concOperator
函数的范围内。
解决这个问题的方法:
let evalString = '';
let displayString = '';
let currentNumber = '5';
function concOperator(str, operator) {
return `${str} ${currentNumber} ${operator} `;
}
evalString = concOperator(evalString, '*');
displayString = concOperator(displayString, 'x');
关于javascript - 如何创建一个将任何给定字符串与第二个参数连接起来的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56279128/