老师,这样对吗?另外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 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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