ด้วยการพัฒนาของ Times เฟรมเวิร์กที่ยอดเยี่ยมมากขึ้นปรากฏขึ้นในค่าย JavaScript ซึ่งทำให้งานพัฒนาของเราง่ายขึ้นอย่างมาก หากคุณไม่พอใจกับการใช้ API แบบสำเร็จรูป แต่มีความเข้าใจอย่างลึกซึ้งเกี่ยวกับกลไกการใช้งานภายในของพวกเขา คือคุณสามารถเข้าใจได้
ฉันได้ศึกษาซอร์สโค้ดของ jQuery ในสองวันที่ผ่านมา โอเคมาดูกันว่า jquery ทำงานอย่างไร บทความนี้ไม่เหมาะสำหรับเพื่อนที่ไม่มีความเข้าใจในแนวคิดเช่นชั้นเรียนวัตถุฟังก์ชั่นต้นแบบ ฯลฯ ใน JS
เริ่มต้นด้วยการเริ่มต้น:
ขั้นแรกให้สร้างวัตถุสำหรับผู้ใช้โดยสมมติว่ากรอบของเราเรียกว่า Shaka (ชื่อของฉัน;))
var shaka = function () {}; เพื่อให้วัตถุที่สร้างขึ้นเพื่อเรียกวิธีการที่กำหนดไว้ในต้นแบบเราจำเป็นต้องเพิ่มวิธีการบางอย่างให้กับ Shaka ในต้นแบบ (การใช้ Shaka เป็นชั้นเรียน) ดังนั้นเราจึงกำหนด:
shaka.fn = shaka.prototype = {};
ที่นี่ shaka.fn เทียบเท่ากับนามแฝงของ Shaka.prototype ซึ่งสะดวกสำหรับการใช้งานในอนาคต
โอเคเพิ่มวิธีการให้กับ Sayhello และเพิ่มพารามิเตอร์ให้กับ Shaka เพื่อให้เฟรมเวิร์กพื้นฐานที่สุดอยู่ที่นั่นแล้ว
รันกล่องรหัส
[Ctrl+A เคล็ดลับการเลือกทั้งหมด: คุณสามารถแก้ไขรหัสบางอย่างก่อนจากนั้นกด Run]
ตกลงอย่าตื่นเต้นเราสังเกตเห็นว่ามีความแตกต่างระหว่างเฟรมเวิร์กและ jQuery ที่ใช้งานเช่นใน JQ เราสามารถเขียนด้วยวิธีนี้:
jQuery ('#myid'). somemethod ();
งานนี้เป็นอย่างไร?
var shaka = function () {return // ส่งคืนอินสแตนซ์ของ Shaka;
ดังนั้นเราจะได้รับอินสแตนซ์ของ Shaka ได้อย่างไร? ฟังก์ชั่น MyClass นั่นคือตัวสร้างคลาสและจากนั้น SomeObj ได้รับวิธีการที่กำหนดไว้ใน myclass.prototype