我尝试从一个简单的条件中获得 bool 值返回。可以使用 Eval 函数来执行此操作,还是我必须使用 if 语句?
这是我的表达:
alert(eval($("#val1").val() + $("#val2").val() == $("#result1").val()));
它是数值,例如 1 + 1 = 2//true
最佳答案
您应该将它们转换为如下数字:
alert(Number($("#val1").val()) + Number($("#val2").val()) == Number($("#result1").val()));
如果你不将它们转换为数字,java脚本会假设它们是字符串并进行连接,然后val1(1) + val2(1) = 11
$("#btn").click(function(){
console.log("Converted To Numbers: " + $("#val1").val() + " + " + $("#val2").val() + " = " + (Number($("#val1").val()) + Number($("#val2").val())));
alert(Number($("#val1").val()) + Number($("#val2").val()) == Number($("#result1").val()) );
});
$("#btn2").click(function(){
console.log("No Conversion: " + $("#val1").val() + " + " + $("#val2").val() + " = " + $("#val1").val() + $("#val2").val());
alert($("#val1").val() + $("#val2").val() == $("#result1").val() );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="val1">
<input type="text" id="val2">
<input type="text" id="result1">
<br>
<input type="button" id="btn" value="Convert To Numbers">
<input type="button" id="btn2" value="No Conversion">
关于javascript - 可以使用 eval 来测试相等性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37917815/