为什么我用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

  1. 首先把变量名字改一下,比如name1;

  2. 因为老师的代码中不是打印出typeof name1,而是打印name1。因为已经将name1强制转换成Number了,而name1原来是String。转换完就变成了NaN。又因为NaN本身是特殊的数值,所以typeof NaN就是number。

0

张小菜哇

2019-07-25

name是window对象的属性,不要用name

用个nameval之类的,返回的就是number

0

前端阿城

2019-07-21

http://img.mukewang.com/climg/5d343b970001c12713550901.jpg

0

好帮手慕星星

2019-07-12

同学你好,换一个name变量名称就正确了:

http://img.mukewang.com/climg/5d286e040001e83f03920068.jpg

http://img.mukewang.com/climg/5d286e0c0001369b01140036.jpg

可能是因为window对象中也有name属性,造成了冲突,建议name变量可以少进行定义,避免浏览器解析错误。

可以再测试下,祝学习愉快!

0

据说真的有神

提问者

2019-07-12

http://img.mukewang.com/climg/5d282a060001086f12900896.jpg

0

0 学习 · 40143 问题

查看课程