javascript IsNaN和0
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript IsNaN和0,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1527字,纯文字阅读大概需要3分钟。
内容图文
![javascript IsNaN和0](/upload/InfoBanner/zyjiaocheng/752/db0d51f8e16c459395f37ae9049d1d30.jpg)
我有一些代码会返回意外的结果.
HTML:
<select name="cc_dropdown[0]" id="cc-dropdown-0" style="display: none;">
<option value="">Select a card</option>
<option value="0" selected="selected">***********8431</option>
<option value="-1">Use a new card</option>
</select>
JS:
var ccVal = parseInt($("#cc-dropdown-0 option:selected").val());
var errors = [];
if( ccVal == -1 ) {
if( $('#cc_number-'+bIdx).val().length <= 0 || !isValidCreditCardNo($('#cc_number-'+bIdx).val()) ) {
errors.push('Invalid Credit card Number');
}
if( $('#cc_name-'+bIdx).val().length <= 0 ) {
errors.push('Please provide the name on the credit card.');
}
if($('#cc_exp_month-'+bIdx).val() == ""){
errors.push('Please Select an Expiration Date.');
}
if($('#cc_exp_year-'+bIdx).val() == ""){
errors.push('Please Select an Expiration Date.');
}
if( !isValidZipcode($('#cc_zip-'+bIdx).val())){
errors.push('Please enter a valid zipcode.');
}
} else if ( ccVal == 'na' || ccVal == '' || isNaN(ccVal)) {
console.log("ccVal inside else if: " + ccVal);
console.log("ccVal type: " + typeof ccVal);
errors.push('Please select a credit card, or enter a new one.')
}
else {
console.log("else");
errors.push("Arg!");
}
console.dir(errors);
在这种情况下,ccVal为0,但它落入了else if语句.我希望只有当它不是一个数字时才会发生.预期的结果是它应该落入最后的else语句中.这是一个JSFiddle,结果如下:http://jsfiddle.net/n2Uy7/
任何人都可以解释为什么会这样吗?如果它为0,则不应该命中if或else if语句. JS是否认为0是NaN,即使typeof表示它是一个数字?
解决方法:
0 ==”为真,因此isNaN部分甚至不会被评估.
使用===而不是==.
内容总结
以上是互联网集市为您收集整理的javascript IsNaN和0全部内容,希望文章能够帮你解决javascript IsNaN和0所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。