猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
var str=true+11+null+9+unndefined+”zhuanbang”+flase+null+9+[],str的值是多少?为什么?
结果是
NaNzhuanbangfalsenull9为什么从zhuanbang字符串过后就一直是字符串了
我要去幼儿园深造了
浏览 1273
回答 1
1回答
ruibin
这个str值会报错!正确应该是var str=true+11+null+9+undefined+'zhuanbang'+false+null+9+[]。下次改注意点。。。为什么值会是这样。我们来一个一个分析。首先true + 11 = 1212 + null = 12;12 + 9 = 2121 + undefind = NaN(因为undefind不是一个number,所以隐式转换会调用Number(undefined),结果是NaN,21+NaN = NaN。可以参考我的手记,js运算中存在的隐式转换详解。)。其他的都差不多,最后一个。NaNzhuanbangfalsenull9 +[]先调用[].valueOf()返回[],继续调用[].toString()。得到结果为''。所以NaNzhuanbangfalsenull9 +[] = NaNzhuanbangfalsenull9
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续