Ho visto questo script da qualche altra parte, e sarà controllare ogni singolo caselle di controllo:"[] .forEach"
[].forEach.call(document.querySelectorAll('input[type="checkbox"]'),function(el){
el.checked=true;
}
);
so come usare forEach
:
[0,1,2].forEach(function(num){
console.log(num);
});
//0
//1
//2
Ma ora , è [].forEach
e non c'è niente dentro. Quindi perché funziona ancora? Perché non posso farlo invece?
document.querySelectorAll('input[type="checkbox"]').forEach(function(el){
el.checked=true;
}
);
È possibile. Il primo finisce per essere lo stesso attraverso il riflesso. Controlla 'call'and' apply'. – entonio
Si noti che questa tecnica '[] .forEach.call (nodeList, fn)' non funziona in IE8 **, quindi non è possibile utilizzarlo in circostanze generali. –
È possibile * tecnicamente * aggiungere il metodo per utilizzarlo su un risultato di 'querySelectorAll', ma è una strada irta di pericoli. 'NodeList.prototype.forEach = HTMLCollection.prototype.forEach = Array.prototype.forEach;' –