有谁能帮我理解这个jQuery插件的工作原理。我不明白这个.shuffle()方法是如何工作的。这里还有JSbin链接http://jsbin.com/yefofulohu/2/edit
#pragma once
#define TYPE int
#include "myheader.h"
#undef TYPE
答案 0 :(得分:0)
了解for
循环的语法将有助于您了解正在发生的事情:
for(INIT (optional); CONDITION (optional); FINAL EXPRESSION (optional))
STATEMENT (optional)
虽然for
循环通常与特定语法(var i = 0; i < arr.length; i++
)一起使用,但您可以省略任何或所有表达式(如此函数的作者所做的那样)并且还可以执行以下操作每个表达式中的单个操作。以下是评论的$.shuffle
函数的详细版本:
$.shuffle = function(arr) {
for(var i = arr.length; i > 0; i--) {
// get random index
var j = parseInt(Math.random() * i);
// x = next element
var x = arr[ i - 1 ];
// next element = random element
arr[ i - 1 ] = arr[j];
// random element = next element's previous value
arr[j] = x;
}
return arr;
}
他们选择在CONDITION表达式中检查i
(因为它们正在递减,循环将停止在0),而不是这种长形式方法最终表达中的减量和分配。