亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求助如下,關于console.log(1 + "2" + "2") 122 我想知道為什么是這樣?

求助如下,關于console.log(1 + "2" + "2") 122 我想知道為什么是這樣?

PHP C
慕姐8265434 2022-01-05 11:07:05
console.log(1 + "2" + "2")122console.log(1 + +"2" + "2")32console.log(1 + -"2" + "2")-12console.log(+"1" + "1" + "2")112console.log("A" - "B" + "2")NaN2console.log("A" - "B" + 2)NaN
查看完整描述

2 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

javascript里如果一個對象和String進行"+"運算, 優先當作字符串的連接操作. 如果另外一個對象不是String那么轉換為String再連接
于是1+"2"時會把1轉換為"1", 最后得到"12"
而+"2"和-"2"只能當作正負號, 于是轉換為Number
"A"-"B"減法運算只能對Number運算所以會先把字符串轉換為Number, 因為"A"和"B"不是能轉換為數字的字符串, 于是得到NaN
如果你想用簡單的寫法把一個String轉換為Number, 最好的方式是"1"-0, 用減法運算一定會轉換為Number而不會變成字符串連接

查看完整回答
反對 回復 2022-01-09
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

1++“2”等同于: 1+(+'2'):+'2' 的 + 是一元操作符,對 '2' 進行Number()操作,轉為數字的2,所以等于3;+2位字符鏈接,所以是32

查看完整回答
反對 回復 2022-01-09
  • 2 回答
  • 0 關注
  • 414 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號