当我跑步时:
var a = ["a", "b", "c"] console.log(a.length--)
它打印 3,但是当我运行时:
var a = ["a", "b", "c"] console.log(a.length-1)
它打印 2。为什么?减1不是和减1一样吗?
预先感谢。
减量运算符 (--) 对其操作数进行减量(减一)并返回一个值。
如果使用后缀,操作数后带有运算符(例如,x--),减量运算符将减量并返回减量前的值。如果使用前缀,操作数之前带有运算符(例如,--x),则减量运算符进行减量并返回减量后的值。
let x = 3;
const y = x--;
console.log(`x:${x}, y:${y}`);
// expected output: "x:2, y:3"
let a = 3;
const b = --a;
console.log(`a:${a}, b:${b}`);
// expected output: "a:2, b:2"
var a = ["a", "b", "c"];
console.log(a.length--)
console.log(a);
展示此内容的代码:
Var a = 3;
Var b = 3;
Console.log(a--);
//will print 3
Console.log(--b);
//will print 2
Console.log(a);
//prints 2
Console.log(b)
//prints 2
换句话说, val-- 的作用是从下一行开始减一
(--)运算符的位置表示何时进行计算,其含义是:
var c = [1,2,3,4,5];
console.log(c.length--); // will return length od array (5), then pop()
console.log(c);
// now reversed
console.log(--c.length); // will pop(),then return length od array (3)
console.log(c);