【问题标题】:Working with variables within javascript console.log function [duplicate]在javascript console.log函数中使用变量[重复]
【发布时间】:2018-01-14 13:24:48
【问题描述】:

我看到 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特有的吗?我原以为该变量不会在全局范围内受到影响,并且最后一个打印语句会显示 a 为 0。

【问题讨论】:

  • using a++ 正在使用 post-increment 操作.. 我在这里没有发现任何问题
  • 是的,这是完全正常的。控制台在与window 或您所在的页面相同的范围内运行。您没有在孤立的范围内运行这些代码,因此它们会影响页面及其内容。
  • 它不是我有问题的增量运算符。事实上,console.log() 函数中的语句可以全局修改变量。
  • 无论这意味着什么,您都没有在“内部”console.log 中使用它。您的代码相当于var b = a++; console.log(b);。不知道为什么您认为将其内联到函数调用中会以某种方式隔离a

标签: javascript variables logging console


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 2015-10-25
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多