JS基础:如何在函数内部使用if/else并设置为变量
JS Basics: How to use if/else inside a function and set to variable
我是一个JavaScript初学者,在尝试设置内部带有if/else条件和匿名函数的变量时,我遇到了一些似乎应该有效的问题。这是我的代码:
function changeValue(){
var newValue = (function(){
var getRadioValue = $( "input:radio[name=Radio1]:checked" ).val();
if (getRadioValue === 5){
var final = 8;
}
else if (getRadioValue === 4){
var final = 5;
}
else if (getRadioValue === 3){
var final = 3;
}
else if (getRadioValue === 2){
var final = 1;
}
else if (getRadioValue === 1){
var final = -1;
}
else
{
var final = 0;
}
return final;
})();
alert(newValue);
}
现在,警报显示为0,因为没有一个"if"返回true,但如果我将getRadioValue变量硬编码为:
var getRadioValue = 5;
则if/else条件有效,并且警报消息显示8。这使得.val()方法似乎不起作用。但是,如果我只是将警报设置为:
alert(getRadioValue);
事实上,警报消息确实显示了从我的页面上设置的单选按钮中正确选择的单选值。所以我知道这是有效的。。。现在我想不出哪里出了问题。似乎既然无线电值被正确地分配给了getRadioValue,并且条件正在工作,那么整个事情就应该工作了。我相信这是一个很基本的问题,但经过大量的研究,我似乎仍然没有得到它。任何帮助都将不胜感激!
.val()
返回一个字符串,但您正在测试编号if (getRadioValue === 5){
。
您可能想先执行getRadioValue = parseInt(getRadioValue)
。
演示:
getRadioValue = parseInt("5")
var final = 0; // use var once, its cleaner ;)
if (getRadioValue === 5) {
final = 8;
} else if (getRadioValue === 4) {
final = 5;
} else if (getRadioValue === 3) {
final = 3;
} else if (getRadioValue === 2) {
final = 1;
} else if (getRadioValue === 1) {
final = -1;
}
alert(final);
感谢CodeiSir!这就是问题所在。这是我为其他可能遇到类似问题的人准备的最后一个工作代码:
function changeValue(){
var newValue = (function(){
var getRadioValue = $( "input:radio[name=CalcItem1]:checked" ).val();
var RadioValue = parseInt(getRadioValue);
if (RadioValue === 5){
var final = 8;
}
else if (RadioValue === 4){
var final = 5;
}
else if (RadioValue === 3){
var final = 3;
}
else if (RadioValue === 2){
var final = 1;
}
else if (RadioValue === 1){
var final = -1;
}
else
{
var final = 0;
}
return final;
})();
alert(newValue);
}
相关文章:
- Jquery else if statement
- Javascript skips else if?
- JqueryUI,多个ID和else if 语句在可丢弃,我如何让它们工作
- JQuery Else if statement?
- 以这种方式使用if/else-if/else是一种很好的做法
- switch(true)作为else-if的替代
- else-if子句未按预期工作
- 使用if-else-if-true检查(验证)单选按钮如果未检查则无警报必须检查警报
- Javascript else-if语句错误
- `else if `从不执行;只执行前面的“if”
- 正在创建嵌套的if+else-if语句,但函数返回为未定义
- else-if条件在js渲染模板中
- 我的if和else-if逻辑中的问题以及两个函数的冲突
- 带有if语句的循环的Javascript未到达else-if语句
- 使用 If else if else 语句得到错误
- if-else-if JavaScript 返回 true 并退出,无论输入如何
- Jquery else if is not working
- 如何在 Angular JS 中执行开关或 else/if 语句
- 我可以在 html 文档中使用 if/else if 命令吗?
- 我需要帮助“调试”If/Else if/Else 语句的语法