Давайте поговорим об автомобилях.
Ой, подождите, мы уже сделали - помните то время, когда мы встретились, некоторое время назад? Мы говорили об автомобилях. На самом деле, вы, казалось, были довольно знатоком автомобилей. Вы смогли подробно объяснить все, что правильно, что неправильно и что интересно в последней гонке Формулы 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, и когда люди, кажется, просто отбрасывают его, небрежно говоря «тьфу, эти глупые javascriptians» и размахивая причудливыми белыми перчатками, это сводится к морали.
Если вы можете принять тот факт, что вы всегда будете энтузиастом JavaScript, то кто я такой, чтобы остановить вас? Но если вы хотите стать программистом на JavaScript, вам сначала нужно иметь знания, чтобы хотя бы выбрать между использованием jQuery (или любой другой библиотеки) и не использованием библиотеки. Узнайте DOM. Узнайте, как его использовать. Напишите свою собственную маленькую библиотеку или просто некоторую коллекцию вспомогательных функций. И как только вы узнаете о DOM, и вы решите использовать jQuery - GodSpeed. Лень награждается тем, кто много работал.