VanillaJS คืออะไร


688

ฉันมีคำถามง่ายๆคำถามหนึ่งที่ติดอยู่ในใจของฉันสองสามวัน: VanillaJS คืออะไร? บางคนอ้างถึงเป็นกรอบคุณสามารถดาวน์โหลดห้องสมุดจากหน้าอย่างเป็นทางการ

แต่เมื่อฉันตรวจสอบตัวอย่างหรือ TodoMVC พวกเขาเพียงแค่ใช้ฟังก์ชั่น JavaScript แบบคลาสสิกโดยไม่ต้องรวมถึงห้องสมุดจากหน้าอย่างเป็นทางการหรืออะไร นอกจากนี้ลิงก์ "เอกสาร" ในหน้าเว็บอย่างเป็นทางการจะนำไปสู่ข้อกำหนด Mozilla ของ JavaScript

คำถามของฉันคือ: JavaScript ดิบของ VanillaJS หรือไม่ และถ้าใช่ทำไมผู้คนถึงเรียกมันว่า "กรอบงาน" เมื่อสิ่งที่คุณต้องการคือเบราว์เซอร์ที่ไม่มีสคริปต์พิเศษใด ๆ

ฉันขอโทษสำหรับคำถามที่อาจจะโง่ แต่ฉันไม่รู้ว่าสิ่งที่ผู้คนกำลังพูดถึงเมื่อพวกเขาพูดว่า "VanillaJS"


245
VanillaJS เป็น Javascript ปกติ นั่นเป็นเรื่องตลก
เนลสัน

30
vanilla-js.com (ดาวน์โหลดไลบรารี่ทำเครื่องหมายที่ตัวเลือกทั้งหมดแล้วดูในซอร์สโค้ดเพื่อดูว่ามันเสร็จสิ้นแล้ว)
แควนตัส 94 Heavy

35
เช่นเดียวกับไอศครีมวานิลลานั้นค่อนข้างธรรมดา "วานิลลา" ในคำแสลงจำนวนมากแปลว่า "ธรรมดาหรือน่าเบื่อ"
TecBrat

21
“ ขนาดสุดท้าย: 0 ไบต์ไม่ถูกบีบอัด, 25 ไบต์ gzipped” รักเลย: O)
cronvel

23
สิ่งที่น่าหดหู่จริงๆคือมันปรากฏอยู่ในสเป็คของงานเมื่อ VanillaJS น่าเศร้าที่นายหน้าจำนวนน้อยรู้เกี่ยวกับบทบาทที่พวกเขารับสมัคร
Phil Lello

คำตอบ:


582

นี่คือ VanillaJS (ไม่มีการแก้ไข):

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

อย่างที่คุณเห็นมันไม่ใช่กรอบหรือห้องสมุดจริงๆ มันเป็นเพียงแค่คำพูดปิดปากสำหรับเจ้านายที่รักเฟรมหรือคนที่คิดว่าคุณต้องใช้เฟรมเวิร์ก JS มันหมายความว่าคุณเพียงแค่ใช้สิ่งที่เบราว์เซอร์ของคุณ (เพื่อตัวคุณเอง: ไม่ใช่มรดก) ให้ (โดยใช้ Vanilla JS เมื่อทำงานกับเบราว์เซอร์ดั้งเดิมเป็นความคิดที่ไม่ดี)


33
ดังนั้นเมื่อคุณเห็นวิกิชุมชนของคุณได้รับคะแนนคุณตัดสินใจลบและโพสต์ใหม่หรือไม่
Blue Skies

22
@BlueSkies: ไม่ใช่ตอนแรกมันเป็นเพียงส่วนแรกที่มีการบล็อกรหัส นั่นคือคำตอบที่ "สนุก" นั่นเป็นเหตุผลที่ฉันต้องการมัน จากนั้นฉันตัดสินใจที่จะเปลี่ยนเป็นคำตอบที่เหมาะสมเนื่องจาก OP ดูเหมือนว่าจะถามคำถามที่ถูกต้องซึ่งควรจะตอบอย่างเหมาะสม
ThiefMaster

4
เมื่อมีคนบอกว่าบางสิ่งเป็น "ความคิดที่ไม่ดี" คนหนึ่งแสดงความคิดเห็นที่ไม่จำเป็นต้องเป็นเรื่องจริง
Blue Skies

13
FYI: Vanilla JS ตอนนี้บีบอัด 0 ไบต์, 25 ไบต์
Trisped

8
@BlueSkies: ความจริง "ที่ธรรมดา (" วานิลลา ") JS ไม่ดีเมื่อทำงานกับเบราว์เซอร์รุ่นเก่า" ไม่ใช่ความเห็นมันเป็นความจริง นี่เป็นเหตุผลว่าทำไมเฟรมเวิร์กอย่าง jQuery และอื่น ๆ ถูกคิดค้นขึ้นมาเพื่อทำให้ชีวิตของคุณง่ายขึ้นเมื่อจัดการกับเบราว์เซอร์ที่เข้ากันไม่ได้นรก! :) เหตุผลเดียวที่วานิลลา JS เริ่มกลับมาในปี 2016 คือเบราว์เซอร์ที่ทันสมัยส่วนใหญ่ตอนนี้เป็นไปตามมาตรฐานมากกว่าในอดีตดังนั้นคุณต้องมีเฟรมเวิร์กน้อยลง (โดยเฉพาะถ้าคุณเป็นผู้เชี่ยวชาญจาวาสคริปต์)
Sorin Postelnicu

371

การใช้ "VanillaJS" หมายถึงการใช้ JavaScript ธรรมดาโดยไม่มีไลบรารีเพิ่มเติมใด ๆ เช่น jQuery

ผู้คนใช้มันเป็นเรื่องตลกเพื่อเตือนผู้พัฒนารายอื่น ๆ ว่าสิ่งต่าง ๆ สามารถทำได้ทุกวันนี้โดยไม่ต้องใช้ไลบรารี JavaScript เพิ่มเติม

นี่คือเว็บไซต์ตลกที่พูดติดตลกเกี่ยวกับเรื่องนี้: http://vanilla-js.com/


3
เว็บไซต์vanilla-js.comเป็นเรื่องตลกจริงๆ :) ด้วยข้อมูลที่ดีมากมายเกี่ยวกับ VaniliaJs
Mohammad Kermani

74

VanillaJS เป็นคำศัพท์สำหรับจาวาสคริปต์ฟรี / ไลบรารี

บางครั้งมันเรียกอย่างแดกดันว่าเป็นห้องสมุดเป็นเรื่องตลกสำหรับคนที่อาจถูกมองว่าไร้เหตุผลโดยใช้กรอบที่แตกต่างกันโดยเฉพาะอย่างยิ่ง jQuery

บางคนออกไปแล้วจนถึงตอนนี้เพื่อปล่อยไลบรารีนี้โดยปกติจะมีไฟล์ js ว่างเปล่าหรือแสดงความคิดเห็นเท่านั้น


5
OTOH ฉันชอบความสะดวกในการพกพาของเบราว์เซอร์และไวยากรณ์ที่กระชับ jQuery ให้ฉันอย่างนั้นและโดยทั่วไปมันเป็นตัวเลือกการออกแบบที่ดีมาก - ดีกว่าพึ่งพา VanillaLongwindedAndBrowserIncompatible-JS
โทมัส W

แน่ใจ ไม่มีอะไรผิดปกติเมื่อใช้ jQuery เพียงอธิบายความคิดเบื้องหลังเรื่องตลกไม่ใช่รับรอง ตอนนี้ชี้แจงถ้อยคำ
Ben McCormick

3
@ThomasW ฉันชอบความสะดวกในการพกพาและรัดกุมมีประสิทธิผลในการทำงาน นั่นเป็นเหตุผลที่ฉันเขียนfunction doSomething(args) { ... }และจากนั้นในรหัสของฉันฉันสามารถdoSomethingในรหัสแม้แต่น้อยกว่า jQuery ;)
Niet the Dark Absolut

4
เยี่ยมมากถ้าคุณไม่ต้องจัดการกับปัญหา DOM หรือเบราว์เซอร์ในโลกแห่งความจริง คนส่วนใหญ่สร้าง webapps ทำ การจัดการ DOM และการพกพาเบราว์เซอร์เป็นปัญหาซึ่ง jQuery ถูกคิดค้น (ปรับปรุงบน Prototype.js) เป็นวิธีแก้ปัญหา ฉันเห็นด้วยกับ @ NiettheDarkAbsol ว่าสำหรับรหัสอัลกอริทึมบริสุทธิ์ jQuery ไม่เกี่ยวข้อง
Thomas W

@ThomasW ทำ "ปัญหา DOM หรือเบราว์เซอร์จริง" ทำให้เกิดปัญหาใหญ่ใน IE 9 และใหม่กว่าหรือไม่ เท่าที่ฉันสามารถบอกได้ว่าปัญหาส่วนใหญ่ที่กล่าวมานั้นเกี่ยวกับ IE 8 และก่อนหน้านี้ IE บน XP ไม่ได้รับการสนับสนุนเมื่อคุณเขียนความคิดเห็นนั้นและ IE 8 บน Windows Vista และ Windows 7 ไม่ได้รับการสนับสนุนอีกต่อไปแล้วขณะนี้ Microsoft สนับสนุน IE ล่าสุดเท่านั้นที่พร้อมใช้งานสำหรับแต่ละระบบปฏิบัติการ
Damian Yerrick

49

นี่เป็นเรื่องตลกสำหรับผู้ที่ตื่นเต้นเกี่ยวกับกรอบ JavaScript และไม่รู้จักจาวาสคริปต์ที่แท้จริง

ดังนั้น VanillaJS เป็นเช่นเดียวกับ Javascript

วานิลลาในคำสแลงหมายถึง:

ไม่น่าตื่นเต้นปกติธรรมดาน่าเบื่อ

นี่เป็นการนำเสนอที่ดีใน YouTube เกี่ยวกับ VanillaJS: Vanilla JS คืออะไร?


3
นี่เป็นเพียงเรื่องตลกโง่ ๆ ที่สร้างความสับสนให้กับมือใหม่ เห็นได้ชัดว่าวิศวกรส่วนหน้าชอบที่จะทำให้น่านน้ำเป็นเมฆดังนั้นพวกเขาจึงสามารถรู้มากกว่าคนต่อไป
ริงโก้

1
@Ringo ไม่ได้เป็นมากกว่าเรื่องตลกฝรั่งเศสที่ต้องมีความรู้เชิงลึกเกี่ยวกับวัฒนธรรมฝรั่งเศสเพื่อทำความเข้าใจมีจุดประสงค์เพื่อให้คนที่บอกพวกเขาดูเหมือนจะรู้มากกว่าคนอื่น ผู้คนอาจใช้ "in-jokes" เพื่อแยกผู้อื่นออก แต่นั่นไม่ใช่ข้อสันนิษฐานที่ดีที่จะทำโดยเฉพาะเมื่อพวกเขาอธิบายได้อย่างรวดเร็วเมื่อถูกถาม
Roy Tinker

45

คำตอบที่ธรรมดาและเรียบง่ายคือใช่ VanillaJS === JavaScript ตามที่ Dr B. Eich กำหนด


17
และแม้แต่ Object.is (VanillaJS, JavaScript) ยกเว้นแน่นอน IE
user2345215

44

VanillaJS === JavaScriptเช่นVanillaJS เป็น JavaScript ดั้งเดิม

ทำไม วานิลลาบอกว่ามันทั้งหมด !!!

ซอฟแวร์คอมพิวเตอร์และระบบคอมพิวเตอร์ที่เกี่ยวข้องกับบางครั้งยังอื่น ๆ เช่นคอมพิวเตอร์ฮาร์ดแวร์หรือขั้นตอนวิธีการที่เรียกว่าวานิลลาเมื่อไม่กำหนดเองจากรูปแบบเดิมของพวกเขาหมายความว่าพวกเขาจะใช้โดยไม่ต้องปรับแต่งใด ๆ หรือการปรับปรุงนำไปใช้กับพวกเขา ( โปรดดูบทความนี้ ) ดังนั้นวานิลลามักจะอ้างถึงบริสุทธิ์หรือธรรมดา

ในภาษาอังกฤษวานิลลามีความหมายคล้ายกันในด้านเทคโนโลยีสารสนเทศ, วานิลลา (ออกเสียง VAH-กลุ่มหูเสื่อม-UH) เป็นคำคุณศัพท์หมายธรรมดาหรือพื้นฐาน หรือไม่มีคุณสมบัติพิเศษหรือพิเศษ , สามัญหรือมาตรฐาน

ดังนั้นทำไมชื่อมัน VanillaJS? คำตอบที่ได้รับการยอมรับกล่าวว่าผู้บังคับบัญชาบางคนต้องการทำงานกับกรอบงาน (เนื่องจากมีการจัดระเบียบและมีความยืดหยุ่นมากขึ้นและทำทุกสิ่งที่เราต้องการได้) แต่เพียงแค่ JavaScript จะทำงาน แต่คุณต้องเพิ่มเฟรมเวิร์ก ใช้VanillaJS ...

มันเป็นเรื่องตลกหรือไม่? ใช่

อยากสนุกไหม? คุณสามารถหาได้ที่ไหนhttp://vanilla-js.com/ ดาวน์โหลดและดูด้วยตัวคุณเอง !!! มันคือ0 bytes uncompressed, 25 bytes gzipped: D

พบนี้ปุนบนอินเทอร์เน็ตเกี่ยวกับกรอบ JS (ไม่ประณามกรอบ JS ที่มีอยู่แม้ว่าพวกเขาจะทำให้ชีวิตง่ายจริงๆ :)) ป้อนคำอธิบายรูปภาพที่นี่

โปรดดูที่


1
ลอง 2.2 * 100 ในวานิลลา js: D
Suhail Mumtaz Awan

5

"Vanilla JS" เป็นสำนวนที่ได้รับความนิยมหลังจากการเผยแพร่เว็บไซต์เสียดสีในปี 2012 ( http://vanilla-js.com/ ) มีส่วนที่ครอบคลุมเรื่องราว / ความหมายในโพสต์นี้

ทำไมเรื่องตลก? มันเป็นเหมือนการตอบสนองที่ทันสมัยต่อการสะท้อนหัวเข่าของโรงเรียนเก่าที่พึ่งพา jQuery และไลบรารี JS เพิ่มเติม ด้วยข้อกำหนดของ ECMAScript และความสามารถของเบราว์เซอร์ที่ทันสมัยความจำเป็นในการหลีกเลี่ยง JS ธรรมดาที่มีไลบรารีภายนอก นี่คือเว็บไซต์ที่แสดงให้คุณเห็นว่าเรื่องนี้เป็นจริงเพียงใดกับตัวอย่างที่เป็นรูปธรรม: http://youmightnotneedjquery.com/


1

คำนี้VanillaJSเป็นเรื่องตลกที่น่ารังเกียจที่เปลี่ยนชีวิตของฉัน ฉันไปที่ บริษัท เยอรมันเพื่อสัมภาษณ์ฉันแย่มากJavaScriptและCSSยากจนมากดังนั้นผู้สัมภาษณ์บอกกับฉัน: เรากำลังทำงานที่นี่กับVanillaJsดังนั้นคุณควรรู้กรอบนี้

แน่นอนฉันเข้าใจว่าฉันถูกปฏิเสธ แต่เป็นเวลาหนึ่งสัปดาห์ฉันหาVanillaJSหลังจากทั้งหมดฉันพบลิงค์นี้ 😂

สิ่งที่ฉันเป็นเพียงเพราะเรื่องตลก

VanillaJS === plain `JavaScript`

1
ฉันได้รับสิ่งที่วานิลลา JS เป็นเรื่องตลก
rodude123

0

ไม่มีความแตกต่างเลยVanillaJSเป็นเพียงวิธีการอ้างอิง JavaScript ดั้งเดิม (ไม่ขยายและตามมาตรฐาน) JavaScript โดยทั่วไปการพูดเป็นศัพท์ที่แตกต่างเมื่อใช้ไลบรารีและกรอบงานเช่น jQuery และ React เว็บไซต์www.vanilla-js.comให้ความสำคัญเป็นเรื่องตลกโดยพูดถึงการแข่งขันVanillaJSราวกับว่าเป็นเฟรมเวิร์กที่รวดเร็วน้ำหนักเบาและข้ามแพลตฟอร์ม นั่นทำให้น้ำขุ่น! ดังนั้นจึงอาจเป็นคำถามเชิงปรัชญาเล็กน้อย: "ฉันรวบรวมวานิลลาJavaScriptได้หลายสิ่งโดยไม่ต้องเป็นVanillaJSตัวของตัวเอง?" ดังนั้นแนวทางเพียงว่าคือถ้าคุณสามารถเขียนโค้ดและทำงานในเว็บเบราว์เซอร์ใด ๆ VanillaJSในปัจจุบันไม่มีเครื่องมือเพิ่มเติมหรือเรียกว่าขั้นตอนการรวบรวมเป็นเช่นนั้นก็อาจจะมี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.