Hãy nói về xe hơi.
Đợi đã, chúng ta đã làm rồi - hãy nhớ rằng thời gian chúng ta gặp nhau, một thời gian trước? Chúng tôi đã nói về xe hơi. Trong thực tế, bạn dường như là khá chuyên gia về xe hơi. Bạn đã có thể giải thích chi tiết, tất cả những gì đúng, sai và thú vị về cuộc đua Công thức 1 mới nhất. Bạn biết tất cả các mẫu xe của Lamborghini, bao gồm giá cả và tính sẵn có của chúng. Bạn thậm chí đã có suy nghĩ về việc mua chiếc Ferrari 599 GTB Fiorano của riêng bạn và đang tiết kiệm cho nó (Tôi cá rằng bữa tối bít tết không giúp được gì nhiều).
Trong khi giải thích lỗi của Toyota bằng một giọng nói hào hứng, tuyệt vời, bạn đột nhiên nhảy khỏi ghế và hét lên không trung, vẫy nắm đấm của bạn về: "Chết tiệt tất cả, tôi là một chuyên gia tuyệt vời về tất cả những thứ liên quan đến xe hơi! Tôi ' Tôi sẽ trở thành thợ sửa xe! "
Và vì vậy bạn đã đi. Bạn đã có một cuộc phỏng vấn, Boss Man cũng ấn tượng như tôi với kiến thức của bạn, và bạn được tuyển dụng. Khách hàng đầu tiên bước vào. Ly hợp của anh ta bị hỏng. Bạn đã kiểm tra nó và không biết phải làm gì. Thực tế, bạn hoàn toàn không biết làm thế nào để làm theo lời khuyên mà ông chủ đưa ra cho bạn. Bạn đã bị sa thải.
Nhưng làm thế nào mà có thể được!? Bạn biết tất cả mọi thứ về xe hơi! Ngoại trừ ... mọi thứ về xe hơi. Bạn có thể biết rất rõ chiếc xe mơ ước của mình có động cơ V12, nhưng bạn không biết điều đó thực sự có nghĩa là gì.
Vì vậy, bạn không phải là một thợ sửa xe, thực sự - bạn là một người đam mê xe hơi. Và cho đến khi bạn tìm hiểu làm thế nào xe ô tô hoạt động , bạn sẽ vẫn là một người đam mê.
Bây giờ hãy để tôi hỏi bạn. Làm thế nào để $.fn.text
làm việc? Còn bạn thì $.fn
sao? Họ thực sự có ý nghĩa gì? Làm thế nào để $(something)
trả lại một thứ khổng lồ chứa đựng những thứ, và chính xác thì đó là gì? Bạn có thể sao chép chức năng của chúng, ít nhất là một chút, trên lý thuyết không? Bạn có thể đối phó mà không có jQuery?
Nói rằng "JavaScript gốc là khó" chỉ là ... sai. Đầu tiên và quan trọng nhất, vì JavaScript là ngôn ngữ không liên quan gì đến DOM , chủ yếu là những gì trừu tượng hóa của jQuery. Thứ hai bởi vì một khi bạn tìm hiểu một chút về DOM, bạn đã có thể vượt qua các lỗi trình duyệt chéo phổ biến nhất. Nhưng chỉ là một bí mật nhỏ - ban đầu mọi thứ đều khó khăn. Phân chia dài là một con chó cái ở lớp 5.
Là một loại suy thứ hai cho câu trả lời này: jQuery là JavaScript DOM (không hoạt Javascript ngôn ngữ, chỉ DOM) như Array.prototype.forEach
là for
. Nó hoạt động, cho 99% các trường hợp. Và nó hoạt động tốt. Nhưng với 1% không được bảo hiểm, bạn cần biết cách sử dụng for
vòng lặp, nếu chỉ để thực tế. Toàn bộ câu trả lời này dựa trên khía cạnh "tinh khiết" hơn của câu hỏi và thậm chí không phải là khía cạnh kỹ thuật (ví dụ như kích thước của thư viện và một số điều khác như được giải thích trong câu trả lời của Michael Dorrant). Bởi vì tôi yêu thích JavaScript và khi mọi người dường như bỏ nó sang một bên một cách tình cờ nói "pah, những người javascript ngớ ngẩn đó" và vẫy đôi găng tay trắng lạ mắt, nó đi xuống đạo đức.
Nếu bạn có thể chấp nhận sự thật rằng bạn sẽ luôn là người đam mê JavaScript, vậy tôi là ai để ngăn bạn? Nhưng nếu bạn muốn trở thành một lập trình viên JavaScript, trước tiên bạn phải có kiến thức ít nhất là chọn giữa việc sử dụng jQuery (hoặc bất kỳ thư viện nào khác) và không sử dụng thư viện. Tìm hiểu DOM. Tìm hiểu làm thế nào để sử dụng nó. Viết thư viện nhỏ của riêng bạn hoặc chỉ một số bộ sưu tập các hàm trợ giúp. Và một khi bạn đã hiểu biết về DOM và bạn chọn sử dụng jQuery - godspeed. Sự lười biếng được trao cho những người làm việc chăm chỉ.