Поговоримо про машини.
О, зачекайте, ми вже зробили - пам'ятаєте той час, коли ми познайомилися, якийсь час тому? Ми говорили про машини. Насправді ви, здавалося, були досить знавцем автомобілів. Ви змогли детально пояснити все, що правильно, неправильно та захоплююче щодо останньої гонки Формули-1. Ви знали напам’ять усі моделі Lamborghini, включаючи їх ціну та доступність. У вас навіть були думки придбати власний Ferrari 599 GTB Fiorano і заощаджували для цього (я думаю, що вечеря зі стейком не дуже допомогла).
Пояснюючи недоліки Toyota великим, схвильованим голосом, ви раптом зіскочили з крісла і кричали в повітря, махаючи кулаками: "Чорт забирай все, я чудовий фахівець у всьому, що стосується автомобілів! Я" я буду автомеханіком! "
І так ти пішов. Ви провели співбесіду, Чоловік-бос був настільки ж вражений, як і я своїми знаннями, і вас найняли. Перший клієнт зайшов. Його зчеплення було зламане. Ви оглянули його і не знали, що робити. Власне кажучи, ви абсолютно не мали уявлення, як слідувати порадам, який вам дав Чоловік-бос. Вас звільнили.
Але як це могло бути? Ви знаєте все про машини! За винятком ... всього про машини. Ви можете дуже добре знати, що ваш автомобіль мрії має двигун V12, але ви не знаєте, що це насправді означає.
Тож ви не автомеханік, насправді - ви любитель автомобілів. І поки ви не дізнаєтесь, як працюють машини , ви залишаєтесь ентузіастом.
Тепер дозвольте запитати вас. Як $.fn.text
працює? А про що $.fn
? Що вони насправді означають? Як $(something)
повертається гігантська річ, що містить речі, і що це саме? Чи можете ви хоч трохи теоретично повторити їх функціональність? Чи можете ви впоратися без jQuery?
Сказати, що "рідний JavaScript важкий" просто ... помилково. Перш за все, тому що JavaScript як мова не має нічого спільного з DOM , що в основному те, що абстрагує jQuery. По-друге, тому що, коли ви трохи дізнаєтесь про DOM, ви вже можете проїхати через найпоширеніші помилки в браузері. Але лише маленький секрет - спочатку все важко. Довгий відділ був суком у 5-му класі.
В якості другої аналогією для цієї відповіді: JQuery полягає в JavaScript-DOM (НЕ JavaScript на мові, тільки DOM) , як Array.prototype.forEach
це for
. Це працює в 99% випадків. І це добре працює. Але для тих 1%, які не охоплені, ви повинні знати, як користуватися for
циклом, хоч щоб бути практичним. Вся ця відповідь ґрунтується на «чистішій» стороні питання, а не навіть на технічній стороні (наприклад, розмір бібліотеки та декількох інших речах, як пояснено у відповіді Майкла Дорранта). Тому що я люблю JavaScript, і коли люди, здається, просто відкидають його убік, недбало говорячи "так, ці нерозумні яваскрипти" та махаючи химерними білими рукавичками, це зводиться до моралі.
Якщо ви можете прийняти той факт, що ви завжди будете ентузіастом JavaScript, то хто я такий, щоб зупинити вас? Але якщо ви хочете бути програмістом JavaScript, спочатку ви повинні мати знання, принаймні, вибирати між використанням jQuery (або будь-якої іншої бібліотеки), а не використанням бібліотеки. Вивчіть ДОМ. Дізнайтеся, як ним користуватися. Напишіть власну невелику бібліотеку або просто якусь колекцію допоміжних функцій. І як тільки ви будете обізнані з DOM, і ви вирішите використовувати jQuery - Godspeed. Лінь присуджується тим, хто наполегливо працював.