खोज…
परिचय
पारंपरिक जेएस में हमारे प्रोटोटाइप के बजाय कोई वर्ग नहीं है। कक्षा की तरह, प्रोटोटाइप में गुणों को शामिल किया गया है जिसमें विधियाँ और कक्षा में घोषित चर शामिल हैं। ऑब्जेक्ट के नए उदाहरण को हम तब बना सकते हैं जब कभी भी यह आवश्यक हो, Object.create (प्रोटोटाइप नाम); (हम कंस्ट्रक्टर के लिए भी मान दे सकते हैं)
निर्माण और प्रारंभिक प्रोटोटाइप
var Human = function() {
this.canWalk = true;
this.canSpeak = true; //
};
Person.prototype.greet = function() {
if (this.canSpeak) { // checks whether this prototype has instance of speak
this.name = "Steve"
console.log('Hi, I am ' + this.name);
} else{
console.log('Sorry i can not speak');
}
};
प्रोटोटाइप को इस तरह तत्काल बनाया जा सकता है
obj = Object.create(Person.prototype);
ob.greet();
हम कंस्ट्रक्टर के लिए मूल्य पारित कर सकते हैं और आवश्यकता के आधार पर बूलियन को सही और गलत बना सकते हैं।
विस्तृत विवरण
var Human = function() {
this.canSpeak = true;
};
// Basic greet function which will greet based on the canSpeak flag
Human.prototype.greet = function() {
if (this.canSpeak) {
console.log('Hi, I am ' + this.name);
}
};
var Student = function(name, title) {
Human.call(this); // Instantiating the Human object and getting the memebers of the class
this.name = name; // inherting the name from the human class
this.title = title; // getting the title from the called function
};
Student.prototype = Object.create(Human.prototype);
Student.prototype.constructor = Student;
Student.prototype.greet = function() {
if (this.canSpeak) {
console.log('Hi, I am ' + this.name + ', the ' + this.title);
}
};
var Customer = function(name) {
Human.call(this); // inherting from the base class
this.name = name;
};
Customer.prototype = Object.create(Human.prototype); // creating the object
Customer.prototype.constructor = Customer;
var bill = new Student('Billy', 'Teacher');
var carter = new Customer('Carter');
var andy = new Student('Andy', 'Bill');
var virat = new Customer('Virat');
bill.greet();
// Hi, I am Bob, the Teacher
carter.greet();
// Hi, I am Carter
andy.greet();
// Hi, I am Andy, the Bill
virat.greet();
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow