Javascript Java脚本,值未分配给变量
我是Java脚本的新手,我不太明白为什么变量Javascript Java脚本,值未分配给变量,javascript,Javascript,我是Java脚本的新手,我不太明白为什么变量action没有任何赋值,尽管我认为我已经赋值了: var prompt = require('sync-prompt').prompt; var add = function(a, b){ return a + b; }; var minus = function(a, b){ return a + b; }; var multiply = function(a, b){ return a + b; }; var choo
action
没有任何赋值,尽管我认为我已经赋值了:
var prompt = require('sync-prompt').prompt;
var add = function(a, b){
return a + b;
};
var minus = function(a, b){
return a + b;
};
var multiply = function(a, b){
return a + b;
};
var chooseAction = function(znak) {
var action;
switch(znak) {
case "+":
action = add;
break;
case "-":
action = minus;
break;
case "*":
action = multiply;
break;
}
return action;
}
var compute = function() {
var input = prompt("Wpisz działanie ");
var arguments = input.split(' ');
var a = parseInt(arguments[0]);
var b = parseInt(arguments[2]);
var action = chooseAction(arguments[1]);
console.log("Wynik działania: " + action(a, b));
}
compute();
代码中的函数
require
未定义。因此,当您尝试为prompt
变量设置值时,会发生错误。您必须添加require
功能,它将正常工作 除了函数的错误运算符之外,我建议不要使用名称为的函数的保留局部变量
另一点,对于使用,我建议也使用基数
参数,如果有前导零的数字,可以将其视为八进制数
var add=函数(a,b){
返回a+b;
};
var减号=函数(a,b){
返回a-b;
};
var乘法=函数(a,b){
返回a*b;
};
var chooseAction=函数(znak){
var作用;
开关(znak){
格“+”:
行动=添加;
打破
案例“-”:
作用=负;
打破
案例“*”:
行动=乘;
打破
}
返回动作;
}
var compute=function(){
var输入=提示(“Wpisz działanie”);
var args=输入。拆分(“”);
var a=parseInt(args[0],10);//使用基数
var b=parseInt(args[2],10);//使用基数
var action=chooseAction(args[1]);
console.log(“Wynik działania:+动作(a,b));
}
compute()代码>您正在添加所有函数,更正它并使用回调,检查此项您需要根据函数的名称检查输入更改运算符,看起来是否相同>“2+3”是一个模块加载器,如果您不确定,我肯定他们在页面的其他地方包含对该脚本的引用,添加一条注释,询问他们是否这样做了。RequireJS是指定require
函数的内容。@乔治,你确定OP的项目中包含了require.js
吗?尽管运算符不同,但结果相同?存在运算符问题。但问题是“为什么变量动作没有赋值”。这可能意味着action变量根本没有值。可能问题不完全如果你在提示符==>3+4中传递类似的内容而没有任何空格,则拆分将失败。对,但拆分是基于空格的,请向op询问。