2017-08-07 51 views
-4

我看到了一些奇怪的行爲與JavaScript。我是這種語言的新手,但是從我所看到的,如果從console.log()方法中增加一個變量(或以任何方式更改它),實際上它會全局更改該變量。在javascript console.log函數內處理變量

var a = 0; 

console.log(a); //prints 0 

console.log(a++); //prints 0, a becomes 1 
console.log(a++); //prints 1, a becomes 2 
console.log(a++); //prints 2, a becomes 3 

console.log(a); //prints 3 

這是JavaScript的特有東西嗎?我會認爲變量不會受到全局影響,並且最後一個打印語句會顯示爲0.

+0

相關:[JavaScript的我+ + ++ VS I](https://stackoverflow.com/q/6867876/5894241) – Nisarg

+0

使用'a ++'正在使用'後增量'操作..我在這裏沒有看到任何錯誤 – kukkuz

+0

是的,這是完全正常的。控制檯的運行範圍與「窗口」或您所在的頁面的範圍相同。你不會在隔離範圍內運行這些代碼,所以它們會影響頁面及其內容。 – Archer

回答

1

使用++會影響變量,如果您只想將其用於日誌目的,則必須使用1,這是它是如何工作以JavaScript ^^

var a = 0; 
 

 
console.log(a); //prints 0 
 

 
console.log(a+1); 
 
console.log(a+1); 
 
console.log(a+1); 
 

 
console.log(a); //prints 0