VanillaJS là gì?


688

Tôi có một câu hỏi đơn giản, đã bị mắc kẹt trong tâm trí tôi trong vài ngày: VanillaJS là gì? Một số người coi nó như một khung, bạn có thể tải xuống một thư viện từ các trang chính thức.

Nhưng khi tôi kiểm tra một số ví dụ hoặc TodoMVC, họ chỉ sử dụng các hàm JavaScript thô cổ điển mà không bao gồm thư viện từ các trang chính thức hoặc bất cứ thứ gì. Ngoài ra, liên kết "Tài liệu" trên trang web chính thức dẫn đến đặc tả JavaScript của Mozilla.

Câu hỏi của tôi là: VanillaJS có phải là JavaScript thô không? Và nếu có, tại sao mọi người gọi nó là "khung" khi tất cả những gì bạn cần là một trình duyệt không có bất kỳ tập lệnh đặc biệt nào?

Tôi xin lỗi vì một câu hỏi có lẽ ngu ngốc nhưng tôi không biết mọi người đang nói về điều gì khi họ nói "VanillaJS".


245
VanillaJS là Javascript thông thường. Đó là trò đùa.
Nelson

30
vanilla-js.com (tải xuống thư viện, đánh dấu vào tất cả các tùy chọn và xem mã nguồn để xem cách thực hiện)
Qantas 94 Heavy

35
Giống như kem vani về cơ bản là đơn giản, "vani" trong rất nhiều tiếng lóng có nghĩa là "đơn giản hoặc nhàm chán"
TecBrat

21
Kích thước cuối cùng: 0 byte không nén, 25 byte được nén. Yêu nó: O)
cronvel 14/07/2015

23
Điều thực sự đáng buồn là nó xuất hiện trên thông số kỹ thuật của công việc như VanillaJS - bi thảm là có bao nhiêu nhà tuyển dụng biết về vai trò mà họ tuyển dụng.
Phil Lello

Câu trả lời:


582

Đây là VanillaJS (chưa sửa đổi):

// VanillaJS v1.0
// Released into the Public Domain
// Your code goes here:

Như bạn có thể thấy, nó không thực sự là một khung hoặc thư viện. Đó chỉ là một trò đùa cho những ông chủ yêu thích khuôn khổ hoặc những người nghĩ rằng bạn CẦN sử dụng khung công tác JS. Điều đó có nghĩa là bạn chỉ sử dụng bất cứ thứ gì trình duyệt (vì lợi ích của bạn: không phải di sản) mang lại cho bạn (sử dụng Vanilla JS khi làm việc với các trình duyệt cũ là một ý tưởng tồi).


33
Vì vậy, khi bạn thấy wiki cộng đồng của bạn đang nhận được phiếu bầu, bạn đã quyết định xóa và đăng lại nó?
Bầu trời xanh

22
@BlueSkies: Không. Ban đầu, đây chỉ là phần đầu tiên với khối mã. Tức là một câu trả lời "vui vẻ". Đó là lý do tại sao tôi CW nó. Sau đó, tôi quyết định biến nó thành một câu trả lời thích hợp vì OP dường như đã hỏi một câu hỏi hợp pháp cần được trả lời đúng.
ThiefMaster

4
Chà, khi người ta nói điều gì đó là một "ý tưởng tồi", người ta bày tỏ một ý kiến ​​không nhất thiết là đúng.
Bầu trời xanh

13
FYI: Vanilla JS hiện là 0 byte, được nén 25 byte.
Đã xem

8
@BlueSkies: Thực tế "rằng" (vanilla ") JS rất tệ khi làm việc với các trình duyệt cũ" không phải là một ý kiến, đó là sự thật. Đó chính là lý do tại sao các khung như jQuery và các công cụ khác được phát minh: để đơn giản hóa cuộc sống của bạn khi đối phó với địa ngục không tương thích trình duyệt! :) Lý do duy nhất khiến vanilla JS bắt đầu quay trở lại vào năm 2016 là vì hầu hết các trình duyệt hiện đại đều tuân thủ tiêu chuẩn hơn nhiều so với trước đây, vì vậy bạn cần ngày càng ít khung (đặc biệt nếu bạn là chuyên gia javascript).
Sorin Postelnicu

371

Sử dụng "VanillaJS" có nghĩa là sử dụng JavaScript đơn giản mà không cần bất kỳ thư viện bổ sung nào như jQuery.

Mọi người sử dụng nó như một trò đùa để nhắc nhở các nhà phát triển khác rằng nhiều thứ có thể được thực hiện hiện nay mà không cần thêm các thư viện JavaScript.

Đây là một trang web hài hước nói đùa về điều này: http://vanilla-js.com/


3
Trang web vanilla-js.com thực sự hài hước :) với nhiều thông tin hay về VaniliaJs
Mohammad Kermani

74

VanillaJS là một thuật ngữ cho javascript miễn phí thư viện / khung.

Đôi khi nó được gọi một cách trớ trêu là một thư viện, như một trò đùa cho những người có thể bị coi là vô tâm khi sử dụng các khung công tác khác nhau, đặc biệt là jQuery.

Một số người đã đi xa để phát hành thư viện này, thường là với một tệp js trống hoặc chỉ nhận xét.


5
OTOH Tôi thích tính di động của trình duyệt và cú pháp ngắn gọn, hiệu quả. jQuery mang đến cho tôi điều đó, và nói chung, đó là một lựa chọn thiết kế rất tốt - tốt hơn nhiều so với việc dựa vào VanillaLongwindedAndBrowserIncompiverse-JS.
Thomas W

Chắc chắn rồi. Không có gì sai khi sử dụng jQuery. Chỉ cần giải thích những suy nghĩ đằng sau trò đùa, không chứng thực nó. Bây giờ làm rõ từ ngữ.
Ben McCormick

3
@ThomasW Tôi thích tính di động và súc tích, cú pháp hiệu quả quá. Đó là lý do tại sao tôi viết function doSomething(args) { ... }và sau đó trong mã của mình, tôi có thể chỉ doSomethingbằng mã ít hơn jQuery. ;)
Niet the Dark Tuyệt đối

4
Tuyệt vời, nếu bạn không phải đối phó với các vấn đề về trình duyệt hoặc DOM trong thế giới thực. Hầu hết mọi người xây dựng webapps làm. Thao tác DOM và tính di động của trình duyệt là những vấn đề mà jQuery đã phát minh ra (cải thiện Prototype.js) như một giải pháp. Tôi đồng ý với @ NiettheDarkAbsol, rằng mã thuật toán thuần jQuery không liên quan.
Thomas W

@ThomasW "Các vấn đề về trình duyệt hoặc DOM trong thế giới thực" có gây ra sự cố lớn trong IE 9 trở lên không? Theo như tôi có thể nói, hầu hết các vấn đề đã nói là với IE 8 trở về trước. IE trên XP không được hỗ trợ khi bạn viết bình luận đó và IE 8 trên Windows Vista và Windows 7 không còn được hỗ trợ nữa vì Microsoft chỉ hỗ trợ IE mới nhất có sẵn cho mỗi HĐH.
Damian Yerrick 6/03/2016

49

Đây là một trò đùa cho những người hào hứng với các khung JavaScript và không biết Javascript thuần túy.

Vì vậy, VanillaJS giống như Javascript thuần túy .

Vanilla trong tiếng lóng có nghĩa là:

không thoải mái, bình thường, thông thường, nhàm chán

Đây là một bài thuyết trình hay trên YouTube về VanillaJS: Vanilla JS là gì?


3
Đây thực sự chỉ là một trò đùa ngu ngốc rất khó hiểu với người mới. Rõ ràng là các kỹ sư đầu cuối thích làm mờ vùng biển để họ có thể biết nhiều hơn người tiếp theo.
Ringo

1
@Ringo Không nhiều hơn những trò đùa của Pháp đòi hỏi kiến ​​thức sâu sắc về văn hóa Pháp để hiểu được nhằm mục đích làm cho những người nói với họ dường như biết nhiều hơn những người khác. Mọi người có thể đang sử dụng một số "trò đùa" để loại trừ những người khác, nhưng đó không phải là một giả định tốt để thực hiện, đặc biệt là khi họ nhanh chóng giải thích khi được hỏi.
Roy Tinker

45

Câu trả lời đơn giản và đơn giản là có, VanillaJS === JavaScript, theo quy định của Tiến sĩ B. Eich.


17
Và thậm chí Object.is (VanillaJS, JavaScript) ngoại trừ IE.
dùng2345215

44

VanillaJS === JavaScript tức là VanillaJS là JavaScript gốc

Tại sao, Vanilla nói tất cả !!!

Phần mềm máy tính, và đôi khi cả các hệ thống liên quan đến máy tính khác như phần cứng hoặc thuật toán máy tính, được gọi là vanilla khi không được tùy chỉnh từ dạng ban đầu của chúng, nghĩa là chúng được sử dụng mà không có bất kỳ tùy chỉnh hoặc cập nhật nào được áp dụng cho chúng ( Tham khảo bài viết này ). Vì vậy, Vanilla thường đề cập đến tinh khiết hoặc đồng bằng.

Trong tiếng Anh, Vanilla có nghĩa tương tự, Trong công nghệ thông tin, vanilla (phát âm là vah-NIHL-uh) là một tính từ có nghĩa đơn giản hoặc cơ bản . Hoặc không có tính năng đặc biệt hoặc bổ sung , thông thường hoặc tiêu chuẩn .

Vậy tại sao lại đặt tên cho nó là VanillaJS? Như câu trả lời được chấp nhận cho biết một số ông chủ muốn làm việc với một khung (vì nó có tổ chức và linh hoạt hơn và làm tất cả những điều chúng tôi muốn ??) nhưng đơn giản là JavaScript sẽ thực hiện công việc. Tuy nhiên, bạn cần phải thêm một khung ở đâu đó. Sử dụng VanillaJS ...

Có phải là một trò đùa ? ĐÚNG

Muốn vui vẻ một chút? Bạn có thể tìm thấy nó ở đâu, http://vanilla-js.com/ Tải xuống và tự mình xem !!! Đó là 0 bytes uncompressed, 25 bytes gzipped: D

Tìm cách chơi chữ này trên internet liên quan đến các khung công tác JS (Không lên án các khung công tác JS hiện có, chúng sẽ giúp cuộc sống thực sự dễ dàng :)), nhập mô tả hình ảnh ở đây

Cũng tham khảo,


1
thử 2.2 * 100 trong vanilla js: D
Suhail Mumtaz Awan

5

"Vanilla JSTHER là một biểu thức đã trở nên phổ biến sau khi xuất bản một trang web châm biếm vào năm 2012 ( http://vanilla-js.com/ ). Có một phần bao gồm câu chuyện / ý nghĩa của nó trong bài đăng này .

Vậy tại sao lại nói đùa? Nó giống như một phản ứng hiện đại đối với phản xạ giật đầu gối của trường học cũ về việc dựa vào jQuery và các thư viện JS bổ sung. Với đặc tả ECMAScript và các khả năng của trình duyệt hiện đại, cần phải bỏ qua JS đơn giản với các thư viện bên ngoài để duy trì tính nhất quán giữa các trình duyệt không còn nữa. Đây là một trang web cho bạn thấy điều này đúng như thế nào với các ví dụ cụ thể: http://youmightnotneedjquery.com/


1

Từ này, do đó, VanillaJSlà một trò đùa chết tiệt đã thay đổi cuộc sống của tôi. Tôi đã đến một công ty Đức để phỏng vấn, tôi rất nghèo JavaScriptCSSrất nghèo, vì vậy Người phỏng vấn nói với tôi: Chúng tôi đang làm việc ở đây với VanillaJs , vì vậy bạn nên biết khuôn khổ này .

Chắc chắn, tôi hiểu rằng tôi đã bị từ chối, nhưng trong một tuần tôi tìm kiếm VanillaJS , sau tất cả, tôi đã tìm thấy LIÊN KẾT NÀY . 😂

Những gì tôi chỉ là vì trò đùa đó.

VanillaJS === plain `JavaScript`

1
Tôi hiểu tất cả những gì vanilla JS là một trò đùa
Rodude123

0

Không có sự khác biệt nào cả, VanillaJSchỉ là một cách để tham khảo JavaScript gốc (không mở rộng và dựa trên tiêu chuẩn). Nói chung, đó là một thuật ngữ tương phản khi sử dụng các thư viện và khung như jQuery và React. Trang web www.vanilla-js.com nhấn mạnh vào nó như một trò đùa, bằng cách nói về cơn sốt VanillaJSnhư thể nó là một khung nhanh, nhẹ và đa nền tảng. Đó là bùn nước! Vì vậy, nó có thể là một câu hỏi triết học nhỏ: "tôi có bao nhiêu thứ để biên dịch cho Vanilla JavaScriptmà không phải là VanillaJSchính mình?" Vì vậy, một hướng dẫn đơn thuần cho điều đó là: nếu bạn có thể viết mã và chạy nó trong bất kỳ trình duyệt web hiện tại nào mà không cần các công cụ bổ sung hay còn gọi là các bước biên dịch, thì có thể là như vậy VanillaJS.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.