"प्रोटोटाइप" के बजाय "इस" की संपत्ति के रूप में विधि "क्षेत्र" को परिभाषित करने के बीच क्या अंतर है?यह बनाम। प्रोटोटाइप
//console.clear()
function Rectangle(w, h)
{
this.width = w;
this.height = h;
this.area = function() { return this.width * this.height; }
}
var r = new Rectangle(2, 3);
var a = r.area();
//console.log(a)
function Square(s)
{
this.side= s;
}
Square.prototype.area = function(){return this.side * this.side; }
var r = new Square(2);
var a = r.area();
//console.log(a)
JavaScript - The definitive guide
में Chapter 9 , part 1
की Prototypes and Inheritance
अनुभाग में, लेखक का कहना है कि विधि "क्षेत्र" को परिभाषित करने प्रोटोटाइप ऑब्जेक्ट के अंदर फायदेमंद है, लेकिन उसकी व्याख्या वास्तव में समझ में आता नहीं था:
"। हर एक आयत वस्तु की व्याप्ति क्षेत्र हमेशा (किसी ज़ाहिर है, इसे बदल सकता है, लेकिन आप आमतौर पर एक वस्तु का तरीकों का इरादा निरंतर होने के लिए) एक ही समारोह को दर्शाता है। यह है उन विधियों के लिए नियमित गुणों का उपयोग करने के लिए अक्षम हैं, जो एक ही कक्षा के सभी ऑब्जेक्ट द्वारा साझा किए जाने का इरादा रखते हैं (यानी, ऑब्जेक्ट्स उसी कन्स्ट्रक्टर के साथ बनाए गए ऑब्जेक्ट्स)। "
मुझे पता है कि यह प्रश्न लगभग this एक जैसा दिखता है, लेकिन ऐसा नहीं है।
तकनीकी रूप से बोलते हुए, फ़ंक्शन() {...} हमेशा बंद हो जाता है, भले ही इसे असाइन किया गया हो। बाकी सब कुछ अच्छा लग रहा है! – ide
@ide: अच्छा बिंदु। संपादित। :) – cHao
@ide: स्पष्टीकरण लोगों के लिए धन्यवाद! साथ ही, क्या आप मुझे बता सकते हैं कि मैं इसके बारे में और जान सकता हूं? – instantsetsuna