Имею ф-цию:
function MathSolver() {
this.solvePostfix = function(postfix) {
var resultStack = [];
postfix = postfix.split(" ");
for(var i = 0; i < postfix.length; i++) {
if(postfix[i].isNumeric()) {
resultStack.push(postfix[i]);
} else {
var a = resultStack.pop();
var b = resultStack.pop();
if(postfix[i] === "+") {
resultStack.push(parseInt(a) + parseInt(b));
} else if(postfix[i] === "-") {
resultStack.push(parseInt(b) - parseInt(a));
} else if(postfix[i] === "*") {
resultStack.push(parseInt(a) * parseInt(b));
} else if(postfix[i] === "/") {
resultStack.push(parseInt(b) / parseInt(a));
} else if(postfix[i] === "^") {
resultStack.push(Math.pow(parseInt(b), parseInt(a)));
}
}
}
if(resultStack.length > 1) {
return "error";
} else {
return resultStack.pop();
}
}
}
Это функция обратной польской записи. Я не понимаю как сделать так, чтобы ввод данных был с помощью параметров, а не с помощью клавиатуры.
Т.е так:
MathSolver("12 - 2 * 5"); // 10