谈“+”,你真的了解么?一个面试题引发的思考------2017.10.19

来源:互联网 发布:科尔沃折叠刀淘宝 编辑:程序博客网 时间:2024/06/07 06:02

菜鸡我,一个无意见看到了一个面试题,如图:

无意看到个面试题引发了思考
假如时光倒回一年,那个时候的没有没有js编程的基础;我肯定会脱口而出这个答案;
输出的结果很简单吧!小case啦!结果应该是

5
5
A-B2
A-B2
Too yong to naive
其实正确答案是
正确答案
“+”可以起连接作用,也可以起运算符加号使用。
解释:题1,做加法时要注意双引号,当使用双引号时,JavaScript认为是字符串,字符串相加等于字符串合并。因此,这里相当于字符串的合并,即为122.
ps{
(当出现加号,后面的+就当作是连接作用!栗子:console.log(“2”+2+2)此时结果就是222)
}
这里写图片描述

第一个+”2”中的加号是一元加操作符,+”2”会变成数值2,因此1+ +”2”相当于1+2=3.
然后和后面的字符串“2”相合并,变成了字符串”32”.
这里写图片描述

“A”-“B”的运算中,需要先把”A”和”B”用Number函数转换为数值,其结果为NaN,在剪发操作中,如果有一个是NaN,则结果是NaN,因此”A”-“B”结果为NaN。
然后和”2”进行字符串合并,变成了NaN2.
-这里写图片描述
“A”-“B”结果为NaN,然后和数值2进行加法操作,在加法操作中,如果有一个操作数是NaN,则结果为NaN。

阅读全文
0 0
原创粉丝点击