[英]What is the difference between console.log(“Result” +vaRiable) and console.log(“Result”, vaRiable)?
請善待,我是自學者。 我有時會嘗試自己尋找答案。
```vaRiable =['2','4','6']
console.log("Result:"+vaRiable);
console.log("Result:",vaRiable);```
一個特定的數組
vaRiable =['2','4','6']
當我console.log("Result:" +vaRiable);
output = Result:2,4,6
console.log("Result :", vaRiable); output = Result: ['2','4','6']
'+'對字符串做了什么? 為什么有兩種output? 有人可以打趣我一個班輪嗎?這會很有幫助。 謝謝
"Result:"+vaRiable
是單個表達式。 Result:
字符串與vaRiable
連接,創建另一個字符串。 當一個數組被強制轉換為一個字符串時,它的元素用逗號連接。 所以你得到'Result:' + '2,4,6'
或Result:2,4,6
。 然后將該字符串傳遞給console.log
並打印到控制台。
相比之下:
console.log("Result :", vaRiable);
向console.log
發送兩個參數。 它們不會連接在一起,因為它們是單獨的參數。 當將多個參數傳遞給console.log
時,每個參數都會單獨記錄(盡管在同一行)。
當您執行"Result:"+vaRiable
時, vaRiable
的值被type coerced
轉換為字符串,以便可以連接到"Result"
。 您在第一個示例中所做的實際上是創建一個等於"Result:2,4,6"
的新字符串,因為這就是 arrays 轉換為字符串時的樣子,類似於調用[2, 4, 6].toString()
或[2, 4, 6].join(',')
。
在第二個示例中, console.log()
正在執行數組的常規控制台 output,這就是它保留括號的原因; 它知道它是一個數組並給它特殊的格式。
當您執行("Result:" + vaRiable)
時, +所做的是將您的字符串與您的數組連接成一個完整的字符串。
當你這樣做時("Result:", vaRiable)
你正在打印兩條消息。 在這種情況下,您沒有連接,第一條消息是字符串Result:
,第二條消息是數組['2','4','6']
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.