我确实理解,由于词法作用域,块作用域可以访问封闭作用域变量。但我不明白的是它到底是如何工作的。例如: function first(){ function second(){ console.log(i); console.log(i); }} 第一个console.log()在查找变量对象中的作用域链后获得i的值。但是,块中的console.log()如何访问变量i,因为它不创建执行上下文,因此没有作用域链。
我想在console.log中获得不同的数组片段,这取决于我按下的是哪个按钮,但是无论我最后按下哪个按钮,我总是得到数组的最后20个元素。我怎样才能让它的行为符合预期呢? for (var i = 0; i < array.length; i++) { var NewArr = []; NewArr = array.slice(i, i + 20);