如果我想增加一个值,然后将其存储在另一个变量中,为什么不能在一行代码中做到这一点?
这有效
var count = 0;
count++;
var printer = count;
alert(printer); //Prints 1
但这并不
var count = 0;
var printer = count++;
alert(printer); //Prints 0
如果我想增加一个值,然后将其存储在另一个变量中,为什么不能在一行代码中做到这一点?
这有效
var count = 0;
count++;
var printer = count;
alert(printer); //Prints 1
但这并不
var count = 0;
var printer = count++;
alert(printer); //Prints 0
你需要做
var count = 0;
var printer = ++count;
alert(printer);
w3schools 页面的JavaScript 算术运算符部分通过 Try Me 实验室进行了不错的细分。简而言之,如果在变量之前进行递增/递减操作,它将在当前操作中使用之前发生。如果您在之后包含它,它将在当前操作之后发生。
它可以在一行中完成。
//Example 1
var count = 0;
count++;
var printer = count;
alert(printer); //Prints 1
//Example 2
var count2 = 0;
var printer2 = count2++;
alert(printer2); //Prints 0
printer2 = count2++;
alert(printer2); //Prints 1
// Example 3, in one line
var count2 = 0;
var printer2 = count2 + 1;
alert(printer2); //Prints 1
// Example 4, in one line
var count2 = 0;
var printer2 = ++count2;
alert(printer2); //Prints 1
++
根据您使用它的位置更改结果:
y = 0;
x = y++; // post-increment
相当于
y = 0;
x = y;
y = y + 1;
和
x = ++y; // pre-increment
相当于
y = 0;
y = y + 1;
x = y;