Я видел этот сценарий где-то еще, и он будет проверять каждые отдельные флажки:"[] .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;' –