คำถามติดแท็ก prototype-programming

4
JavaScript: Class.method vs. Class.prototype.method
ข้อแตกต่างระหว่างสองข้อความต่อไปนี้คืออะไร? Class.method = function () { /* code */ } Class.prototype.method = function () { /* code using this.values */ } มันจะโอเคที่จะคิดว่าคำสั่งแรกเป็นการประกาศของวิธีการแบบคงที่และคำสั่งที่สองเป็นการประกาศของวิธีการอินสแตนซ์?


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

7
หมายความว่า Javascript เป็นภาษาต้นแบบหรือไม่
หนึ่งในข้อดีที่สำคัญของ Javascript นั้นได้รับการกล่าวขานว่าเป็นภาษาที่ใช้ต้นแบบ แต่มันหมายความว่าอะไรที่ Javascript ใช้ต้นแบบและทำไมมันถึงได้เปรียบ?

3
ต้นแบบที่ใช้กับการสืบทอดตามคลาส
ใน JavaScript วัตถุทุกตัวในเวลาเดียวกันเป็นอินสแตนซ์และคลาส ในการรับมรดกคุณสามารถใช้อินสแตนซ์ของวัตถุใด ๆ ก็ได้เป็นต้นแบบ ใน Python, C ++ ฯลฯ มีคลาสและอินสแตนซ์เป็นแนวคิดแยกต่างหาก ในการทำการสืบทอดคุณต้องใช้คลาสฐานเพื่อสร้างคลาสใหม่ซึ่งสามารถใช้เพื่อสร้างอินสแตนซ์ที่ได้รับ ทำไม JavaScript ไปในทิศทางนี้ (การวางวัตถุตามต้นแบบ) อะไรคือข้อดี (และข้อเสีย) ของต้นแบบ OO ที่เกี่ยวกับแบบดั้งเดิม OO แบบคลาส?

15
วิธีที่ดีกว่าในการสรุปมูลค่าทรัพย์สินในอาร์เรย์
ฉันมีสิ่งนี้: $scope.traveler = [ { description: 'Senior', Amount: 50}, { description: 'Senior', Amount: 50}, { description: 'Adult', Amount: 75}, { description: 'Child', Amount: 35}, { description: 'Infant', Amount: 25 }, ]; ตอนนี้มีจำนวนทั้งหมดของอาร์เรย์นี้ฉันทำอะไรแบบนี้: $scope.totalAmount = function(){ var total = 0; for (var i = 0; i < $scope.traveler.length; i++) { total …

8
__proto__ แตกต่างจาก constructor.prototype อย่างไร
function Gadget(name, color) { this.name = name; this.color = color; } Gadget.prototype.rating = 3 var newtoy = new Gadget("webcam", "black") newtoy.constructor.prototype.constructor.prototype.constructor.prototype มันจะส่งคืนวัตถุที่มีการจัดอันดับ = 3 แต่ถ้าฉันทำต่อไปนี้: newtoy.__proto__.__proto__.__proto__ nullห่วงโซ่จบลงด้วยการกลับมา นอกจากนี้ใน Internet Explorer ฉันจะตรวจสอบโมฆะได้อย่างไรหากไม่มี__proto__คุณสมบัติ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.