Bab*_*Asl 9 javascript arrow-functions
我不知道代码是如何const countFrom = x => () => (x++, x);工作的:
const countFrom = x => () => (x++, x);
let a = countFrom(1)
console.log('output:', a()) // output: 2
console.log('output:', a()) // output: 3
console.log('output:', a()) // output: 4
console.log('output:', a()) // output: 5Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper {min-height: 100%!important; top: 0;}Run Code Online (Sandbox Code Playgroud)
x是外部 ( ) 函数内部的变量x =>,因此所有内部函数 ( () => (x++, x)) 共享相同的变量。x++每当内部函数执行时,post 都会递增该变量。在本例中,逗号运算符 ( ..., x) 的计算结果为最后一个逗号分隔的表达式。x
如果没有逗号运算符,可能更容易理解:
const counter = x => () => x = x + 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |