console.log(typeof age-"abc")
来源:3-7 JavaScript数据类型之Number与isNaN
郝存杰
2018-11-10 19:18:28
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
// 一次声明多个变量
var name_01=18,email="marry@sina.com.cn";
var distance=12.67,age=15;
console.log(typeof (age-"abc"))
</script>
</body>
</html>
根据老师的讲座练习。在console.log(typeof (age-"abc"))时,返回值是number;
在console.log(typeof age-"abc")时,返回值是NaN。
这是正常的,还是我哪儿写错了?
1回答
这个是关于底层代码原理的,你可以这样来理解:
1、先说老师讲的typeof后面带括号的这种,typeof()是一个方法。其实是这样的执行流程,console.log(typeof (age-"abc")),先运算这个减法:age-"abc ,结果是NaN,那么再执行 typeof NaN ,那么结果就是number。
2、不带括号的,typeof 是操作符 ,操作符返回一个字符串,表示未经计算的操作数的类型。也就是说它直接运行了typeof age-"abc,并没有先进行减法运算,所以直接把age-"abc归为NaN了。
如果帮助到了你,欢迎采纳!
相似问题
回答 3