为什么我用Number强制转换没有返回nan,返回的是字符串
来源:3-12 JavaScript数据类型之数值转换
据说真的有神
2019-07-12 14:34:20
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
//声明变量(多个变量)
var name="marry",age=10,banji="我是字符串",id="10",adress=undefined;
//在控制台中打印
console.log(isNaN(name)); //true
console.log(isNaN(age)); //false
console.log(isNaN(banji)); //true
console.log(isNaN(id)); //false
console.log(isNaN(adress)); //true
//数值转化Number()方法
id=Number(id);
console.log(typeof id);
name=Number(name);
console.log(typeof name);
</script>
</body>
</html>
5回答
weixin_慕雪558436
2019-08-28
首先把变量名字改一下,比如name1;
因为老师的代码中不是打印出typeof name1,而是打印name1。因为已经将name1强制转换成Number了,而name1原来是String。转换完就变成了NaN。又因为NaN本身是特殊的数值,所以typeof NaN就是number。
张小菜哇
2019-07-25
name是window对象的属性,不要用name
用个nameval之类的,返回的就是number
前端阿城
2019-07-21
好帮手慕星星
2019-07-12
同学你好,换一个name变量名称就正确了:
可能是因为window对象中也有name属性,造成了冲突,建议name变量可以少进行定义,避免浏览器解析错误。
可以再测试下,祝学习愉快!
据说真的有神
提问者
2019-07-12
相似问题