Последний запускает функцию, которая также предоставляет вам новую область видимости.
Возможно, вы этого не знаете, но var value
, объявленный вами для for, фактически объявлен в той же области действия, что и для себя (этоparent) ..
JavaScript не имеет области действия блока , а имеет только область действия функции.Таким образом, любая переменная, которая не объявлена в начале функции, фактически объявляется для всей функции, даже если она вложена в цикл if или.
Кроме того, вы не получаете абстракцию браузера, предоставляемую jQuery.jQuery определит, в каком браузере вы работаете, и может выбрать более эффективный путь для выполнения вашего foreach, в то время как другой всегда будет использовать Array.getAt - даже если может быть лучший способ сделать это (например, браузер начинает предоставлять нативныйнапример, функция - всегда предполагая, что вы обновляете jQuery)
Вкратце: ребята из jQuery знают гораздо больше о браузерах и их особенностях, чем вы, и их способ предоставляет вам бесплатную область видимости цикла.Написание собственного текста более подвержено ошибкам и может оказаться менее эффективным.