为了账号安全,请及时绑定邮箱和手机立即绑定

这计算器加这里有点问题 不明白

“+” 为啥是TXT1+txt2的值  比如TXT1=1 txt2=2 结果是12

正在回答

1 回答

说明这里的 + 号 是字符串连接。

+ 号的3种作用:

1、第一种就是数学中的加法   

   var a = 1;
   var b = 2;
   var c = a + b;  // 此时 c = 3

   

2、字符串链接

   var str = 'abc';
   var str2 = 'def';
   var str3 = str + str2; // 此时str3 = 'abcdef' 
   var txt = '1' + '2' // txt = '12'

 

3、转型,即把其它类型转为数值(或字符串)

var time = +new Date(); // 调用time对象的 valueOf 方法,返回时间戳

// 此时obj 并不是一个对象,而是一个数值,值是 999
var obj = +{ valueOf:function(){ return 999; } } 

// 会调用对象的toString方法,然后执行字符串连接 obj2 = 'i am a object'
var obj2 = '' +{ toString:function(){ return 'i am a object' } } 

// 如果一个对象即含有toString方法,又含有valueOf方法,那么调用那个呢?
// 答案是 + 会首先调用valueOf,toString只是个备胎。。两者都存在,你说调用哪一个?你试试就知道啦
var obj3 = { toString:function(){ return 'i am a object' },valueOf:function(){ return 999 } }+''

   

总结:+ 号引起的操作或转型是javaScript中的所有的转型中的一种情况。我昨天晚上写了一篇涵盖几乎所有转型的情况的文章,现在慕课网正在审核。估计审核通过,马上就能在文章列表中看到了。请关注。。文章名字《JavaScript转型面面观》


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这计算器加这里有点问题 不明白

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信