เอาล่ะเรียกฉันว่าผู้ดูแลห้องใต้ดินบน necro ทั้งหมดที่ฉันทำ แต่ฉันไม่เคยรู้สึกว่าคุณค่าที่แท้จริงของสิ่งนี้ได้รับการเข้าใจอย่างเหมาะสมแล้ว ในอดีตมีการยืนยันว่า "JavaScript ที่ไม่สร้างความรำคาญ" หรือทำให้ JS ของคุณไม่ผ่าน HTML ผ่านแอตทริบิวต์ตัวจัดการเหตุการณ์ HTML แบบอินไลน์และแท็กสคริปต์ที่ไม่ได้ลิงก์ไปยังไฟล์ให้มากที่สุดเป็นองค์ประกอบสำคัญของ:
- ปัญหาการเข้าถึง
- SEO
- และการเสริมความก้าวหน้า
โกหก! (ดีตอนนี้พวกเขาจะเป็น)
ความจริงของเรื่องนี้คือคุณสามารถทำ JavaScript ที่ล่วงล้ำทางเทคนิคและยังคงดึงสามรายการด้านบนออก เว้นแต่ว่าคุณกำลังสร้างเนื้อหา HTML แบบไดนามิกซึ่งเป็น SEO ที่ยิ่งใหญ่ในวันนี้
แต่หยุดและคิดว่า ... เกี่ยวกับคุณ!
จริงๆแล้วประโยชน์ที่ยิ่งใหญ่การได้รับชัยชนะที่สำคัญและไม่ได้รับการแยกจากกันนั้นเป็นผลประโยชน์โดยตรงที่ผู้พัฒนาได้รับ คุณสามารถมีตัวจัดการเหตุการณ์ได้มากเท่าที่คุณต้องการในองค์ประกอบ html เดียวกันสำหรับเหตุการณ์เดียวกันที่สะดวก ซึ่งหมายความว่าหากแท็กที่มีclass="some_class"
พฤติกรรมบางอย่างมักจะได้รับโบนัสบางอย่างเมื่ออยู่ในแท็กid="bonus_behavior"
div เราไม่ต้องเริ่มยุ่งกับตรรกะภายในตัวจัดการเหตุการณ์ที่ได้รับอนุญาตของเราเพื่อแยกสาขานั้น เราสามารถเพิ่มหรือไม่เพิ่มตัวจัดการตามบริบท
อ่านง่ายเกินไป
ประโยชน์ก็คือความชัดเจน นี่เป็นข้อกังวลที่สำคัญยิ่งขึ้นเมื่อเครื่องมือของเบราว์เซอร์ประกอบด้วยข้อความแสดงข้อผิดพลาดพิเศษของ IE ที่บอกคุณว่ามีบางอย่างผิดปกติ[object]
แต่ IMO ยังคงเป็นเรื่องใหญ่ CSS ที่นี่ JS ที่นั่นและ HTML เป็นสถานที่ที่ทั้งคู่และเซิร์ฟเวอร์จะพบปะกัน ด้วยสิ่งเหล่านี้ทั้งหมดมารวมกันในที่เดียวมันสมเหตุสมผลที่จะต้องอาศัย hooks (IDs, คลาสและลำดับชั้น) เพื่อสร้างเลเยอร์ของ abstraction ที่ทุกอย่างใช้เพื่อเชื่อมต่อกับ HTML
IMO ยิ่งคุณแยก HTML, CSS และ JS ออกจากกันมากเท่าไหร่ก็ยิ่งง่ายขึ้นไม่ใช่แค่อ่าน แต่ยังแก้ไขและเข้าใจสิ่งที่เกิดขึ้น ฉันเห็น div ที่ว่างเปล่าที่มี "dynamic_combo_box" เป็นคลาสและฉันมีความคิดที่ดีว่ามีบางสิ่งที่กำลังเลือกแฟนซีที่จะโหลดข้อมูลแบบไดนามิก ฉันมีความเป็นผู้นำในการค้นหาสิ่งนั้นใน JS และ CSS และถ้าฉันเข้าเรียนในข้อกังวลเหล่านั้นฉันจะมีความคิดที่ดีว่ามันเกี่ยวกับอะไรและวิธีการค้นหามันใน HTML
ง่ายเกินไปที่จะทำแม้กระทั่ง Sloppier
และแน่นอนความชัดเจนมีแนวโน้มที่จะไปจับมือกับการบำรุงรักษา เมื่อคุณทำสิ่งต่าง ๆ โดยตรงโดยการทิ้งทุกอย่างไว้ในแท็กสคริปต์ที่ HTML ที่เกี่ยวข้องเกิดขึ้นบ่อยครั้งที่ไม่เป็นเรื่องง่ายสำหรับคนที่จะตัดและวางสคริปต์นั้นใน HTML ของหน้าอื่นที่พวกเขากำลังทำงานอยู่เมื่อ พวกเขาต้องการฟังก์ชั่นที่คล้ายกันซึ่งหมายความว่าคุณมีสิ่งหนึ่งที่น่าจะกลายเป็นสองสิ่งที่น่ารำคาญในที่สุด แต่ไม่เหมือนกัน 100% ซึ่งพฤติกรรมอาจกลายเป็นปัญหาเมื่อเวลาผ่านไปโดยท้าทายความคาดหวังและต้องการการแยกสาขา อื่นไม่ได้
ดังนั้นพฤติกรรมการใช้ตะขอ HTML เหล่านั้นจึงส่งเสริมให้มีการนำรหัสกลับมาใช้อย่างชาญฉลาด หากคุณต้องการพฤติกรรมสาขาสำหรับการใช้งานทางเลือกคุณเพียงแค่ไปที่ฟังก์ชั่นเดียวกันและจัดการมันที่นั่นด้วยลำดับชั้น HTML หรืออาจเป็น data-att เรียกพฤติกรรม alt บางอย่าง มันเป็นแหล่งช้อปปิ้งที่ครบวงจรสำหรับทุกคนที่ต้องการทำความเข้าใจว่าองค์ประกอบ UI ของงานบางประเภทและประเภทการตัดและวางที่ขี้เกียจอย่างเลวร้ายและเลววิธีจะทำสิ่งที่ถูกต้อง / บำรุงรักษามากขึ้นเพราะมันเป็นสิ่งที่ง่ายที่สุดในการ ทำตอนนี้และนั่นคือวิธีที่ดีที่สุดที่จะทำให้การบำรุงรักษาเกิดขึ้น ทำให้มันเป็น "duh" ที่ง่ายที่สุดที่จะทำแม้กระทั่งกับคนที่ไม่สามารถสนใจน้อยลงไม่ว่าจะเกิดจากความตื่นตระหนกหรือความไม่แยแส
แต่อะไรที่เกี่ยวกับปี 2014
อาจเป็นประเด็นที่ถูกต้องว่าในแอพพลิเคชั่นหน้าเดียวที่ทันสมัยสิ่งที่ Stickler เหล่านี้บางอย่างอาจไม่ควรที่จะยึดติดกับเหตุผลตามที่ได้รับ แต่เชื่อฉันเมื่อฉันพูดว่าฉันไม่คิดว่าฉันเป็นคนเดียวที่ ถูกขายเพราะมันทำให้การทำงานง่ายขึ้นในท้ายที่สุด ฉันขี้เกียจใน (ฉันหวังว่า) ส่วนใหญ่เป็นวิธีที่ดี ฉันชอบเมื่อฉันต้องเปลี่ยนสิ่งต่าง ๆ ในที่เดียวเพื่อรับการเปลี่ยนแปลงทั่วแอพเมื่อฉันต้องดูในที่เดียวเพื่อหาว่าบั๊กคืออะไรและเมื่อฉันมีเวลาง่าย ๆ ที่จะเข้าใจว่าห่าคืออะไร เกิดขึ้นและวิธีการใช้รหัสนั้นซ้ำให้ดีที่สุดเพื่อทำสิ่งที่คล้ายกันมาก
มันดีเหมือนการแยก DB หรือ data-layer นั้นดี ในท้ายที่สุดมันเป็นเหตุผลว่าทำไมฉันไม่เพียงแค่ทำอย่างนั้นประหยัดเวลาเหมือนใช้เวลาทั้งหมดห้านาทีในการซักผ้าในคืนก่อนแทนที่จะใช้เวลา 10 นาทีในการทำให้นักมวยของคุณวุ่นวายและทำการตรวจสอบกลิ่นหวาดระแวงในเช้าวันรุ่งขึ้น
สำหรับฉันมันเป็นแรงบันดาลใจที่เห็นแก่ตัวซึ่งเป็นประเด็นหลักเสมอว่าทำไมฉันถึงไม่ได้แค่ JS ที่ไม่สร้างความรำคาญ แต่เป็นการแบ่งแยกสไตล์ / พฤติกรรม / เนื้อหาที่เกี่ยวข้องให้มากที่สุดเท่าที่จะเป็นไปได้แม้ว่า WHAT-freaking-WG ยุ่งเหยิงความกังวลเหล่านั้นด้วยวิธีที่ยอดเยี่ยมและยอดเยี่ยม / มีประโยชน์
ตอนนี้ทุกคนกำลังทำ SPAs และมันก็เกือบจะโง่เขลาที่จะโน้มน้าวใจธุรกิจว่าเราควรจะใส่ใจคนที่ทำงานโดยไม่มี JS (ตอนนี้ความสามารถในการเข้าถึงควรจะจัดการกับเนื้อหาที่สร้างโดย JS) ดูเหมือนว่ารุ่นต่อไปของ JS devs จะสนใจน้อยลง เกี่ยวกับสิ่งนี้ แต่ IMO ยังคงมีชัยชนะอยู่และส่วนใหญ่สำหรับคุณนักพัฒนาเขียนและดูแลสิ่งนี้ และที่จริงแล้วการชนะนั้นควรจะเป็นจุดเน้นย้ำที่สุดเสมอ แต่ไม่เคยมีด้วยเหตุผลบางอย่างเพราะในท้ายที่สุดมันจะเป็นประโยชน์ต่อคุณและผลิตภัณฑ์โดยอุบัติเหตุที่เกิดจากความสุขผ่านการปรับแต่ง / แก้ไข / ดีบักได้ง่ายขึ้น
มันเคยโอเคไหม
ใช่ฉันเดา ในแอพที่ใช้แล้วทิ้งสำหรับการแข่งขันหรือบางสิ่งบางอย่างอาจ แต่ฉันจะทำมันต่อไปเพราะฉันเคยชินกับมันและมันก็ไม่ยากที่จะทำ