私はjqgrid(jqueryグリッド)で次の関数クロージャを使用して、 'retainedChanges'という名前の変数でページングするときの変更を保持します。 Im私はjavascriptで良い練習を壊す;JavaScriptのクロージャーが正しく書かれていますか?
(function($){
この方法: コードは大丈夫私はあなたがおそらく引数としてのjQueryを受け入れるべきであるが、これは正常に動作し、将来
(function($){
var retainedChanges;
retainedChanges = new Array();
$.retainChangesOnPaging = function(){
var changedCells = $('#grid').jqGrid('getChangedCells');
// loop over changedCells array, removing duplicates if you want to...
return retainedChanges.push(/* this is inside the loop; push current value to array*/);
....
}
$.getRetainedChanges = function(){
return retainedChanges;
}
})(jQuery);
なぜ関数の最初の2行を組み合わせて 'var retainedChanges = [];'にしないのですか? – mc10
いくつかの提案: 'new Array()'の代わりに '[]'を使い、関連していなければjQueryオブジェクトに格納しないでください。 – ThiefMaster