老师,这样对吗?另外null返回的是false,是因为null可以被转换为0对吗?

老师,这样对吗?另外null返回的是false,是因为null可以被转换为0对吗?

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
	<title>JavaScript语法规则</title>
</head>
<body>
	<script type="text/javascript">
		var name_01=null,name_02=10,name_03="我是字符串",name_04="10",name_05=undefined;
		console.log(isNaN(name_01))
		console.log(isNaN(name_02))
		console.log(isNaN(name_03))
		console.log(isNaN(name_04))
		console.log(isNaN(name_05))
	</script>
</body>
</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕夭夭 2019-08-27 09:35:53

你好同学,实现的正确。你的理解也是对的哦,isNaN检查其他类型的时候,会自动转换为数值类型。null可以转换为0,所以返回false。

祝学习愉快,望采纳。

  • shalomg #1

    那为什么undefined不能转换为0哦

    2023-08-06 17:20:26
  • 解答如下:

    isNaN函数内部,调用了toNumber方法,尝试将参数转成数字。如果toNumber无法将参数转成数字,那么isNaN最终结果就是true,所以重点要看toNumber方法的处理结果。

    toNumber方法,会将undefined转成NaN(方法本身就是这样处理的),即无法将undefined转成数字,所以isNaN(undefined)最终结果是true。

    这种转换,通过代码测试,知道结果就行了,不用过于深究底层原理。

    2023-08-07 10:24:10
  • 好的,谢谢~

    2023-08-11 21:04:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师