这是非常基本的东西,但我正试图围绕这个来继续我对基本Javascript语法的理解.
基本上,我不明白为什么length = queue.length;创建变量.为什么for循环不能循环i < queue.length而不是为它做变量.
var puzzlers = [
function ( a ) { return 8*a - 10; },
function ( a ) { return (a-3) * (a-3) * (a-3); },
function ( a ) { return a * a + 4; },
function ( a ) { return a % 5; }
];
var start = 2;
var applyAndEmpty = function( input, queue ) {
var length = queue.length;
for(var i = 0; i<length; i++){
input = queue.shift()(input);
}
return input;
};
alert(applyAndEmpty(2, puzzlers));
Run Code Online (Sandbox Code Playgroud)
请注意,在循环内部,您已经:
queue.shift()
Run Code Online (Sandbox Code Playgroud)
该shift方法从数组中删除第一个元素并返回它.这意味着它queue会不断调整大小,但i无论你的变量如何都在增加.如果你没有那个,它实际上会遍历队列中第一个元素的前半部分.
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |