私はどこかにこのスクリプトを見て、それはすべての単一のチェックボックスをチェックします:は "[] .forEach"
[].forEach.call(document.querySelectorAll('input[type="checkbox"]'),function(el){
el.checked=true;
}
);
私はforEach
を使用する方法を知っている:今
[0,1,2].forEach(function(num){
console.log(num);
});
//0
//1
//2
しかし、それは[].forEach
で、内部には何もありません。では、なぜそれはまだ動作しますか?なぜ私はこれを代わりにすることができないのですか?
document.querySelectorAll('input[type="checkbox"]').forEach(function(el){
el.checked=true;
}
);
できます。最初は反射を通して同じになってしまいます。 'call'と' apply'をチェックしてください。 – entonio
この[]] .forEach.call(nodeList、fn) 'テクニック**はIE8では動作しません**ので、一般的な状況では使用できません。 –
'querySelectorAll'の結果に使用する方法を技術的に*追加することはできますが、それは危険を伴う道です。 'NodeList.prototype.forEach = HTMLCollection.prototype.forEach = Array.prototype.forEach; –