在javascript console.log函数中使用变量
我在javascript中看到了一些奇怪的行为。我不熟悉这种语言,但从我所看到的情况来看,如果您从console.log()方法中增加一个变量(或以任何方式更改它),这实际上会全局更改该变量在javascript console.log函数中使用变量,javascript,variables,logging,console,Javascript,Variables,Logging,Console,我在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,
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特有的吗?我原以为该变量不会受到全局影响,最后一个print语句将显示a为0。使用++将影响该变量,如果您只想用于日志目的,则必须使用+1,这是javascript中的工作方式^^
var a=0;
控制台日志(a)//打印0
控制台日志(a+1);
控制台日志(a+1);
控制台日志(a+1);
控制台日志(a)//打印0
相关:使用a++
正在使用post increment
操作。。我看这里没有什么问题是的,这很正常。控制台在与窗口或您所在页面相同的范围内运行。您没有在独立的作用域中运行这些代码位,因此它们会影响页面及其内容。我遇到的问题不是增量运算符。事实上,console.log()函数中的语句可以全局修改变量。您不能“在”console.log
中”使用它,不管这意味着什么。您的代码相当于var b=a++;控制台日志(b)代码>。不知道为什么将其内联到函数调用中会以某种方式隔离a
。