Обектно ориентиран JavaУрок за скрипт (OOJS) с пример
Какво представлява концепцията OOPS JavaСценарий?
Много пъти променливите или масивите не са достатъчни за симулиране на ситуации от реалния живот. JavaСкриптът ви позволява да създавате обекти, които действат като обекти от реалния живот. Ученик или дом може да бъде обект, който има много собствени уникални характеристики. Можете да създавате свойства и методи за вашите обекти, за да улесните програмирането. Ако вашият обект е студент, той ще има свойства като собствено име, фамилия, идентификатор и т.н. и методи като CalculateRank, changeAddress и т.н. Ако вашият обект е дом, той ще има свойства като брой стаи, цвят на боята, местоположение и т.н. и методи като calculateArea, changeOwner и др.
Как да създадете обект
Можете да създадете обект като този:
var objName = new Object(); objName.property1 = value1; objName.property2 = value2; objName.method1 = function() { line of code }
OR
var objName= {property1:value1, property2:value2, method1: function() { lines of code} };
Достъп до свойствата и методите на обекта
Можете да получите достъп до свойства на обект по този начин:
objectname.propertyname;
Можете да получите достъп до методи на обект като този:
objectname.methodname();
Опитайте сами този пример:
<html> <head> <title>Objects!!!</title> <script type="text/javascript"> var student = new Object(); student.fName = "John"; student.lName = "Smith"; student.id = 5; student.markE = 76; student.markM = 99; student.markS = 87; student.calculateAverage = function() { return (student.markE + student.markM + student.markS)/3; }; student.displayDetails = function() { document.write("Student Id: " + student.id + "<br />"); document.write("Name: " + student.fName + " " + student.lName + "<br />"); var avg = student.calculateAverage(); document.write("Average Marks: " + avg); }; student.displayDetails(); </script> </head> <body> </body> </html>
OOPS Конструктор
Но създаването на обекти от този вид не е толкова полезно, защото тук също ще трябва да създавате различни обекти за различни ученици. Ето конструктора на обекти в картината. Конструкторът на обекти ви помага да създадете тип обект, който може да се използва повторно, за да отговори на нуждите на отделен екземпляр.
Опитайте сами този пример:
<html> <head> <script type="text/javascript"> function Student(first, last, id, english, maths, science) { this.fName = first; this.lName = last; this.id = id; this.markE = english; this.markM = maths; this.markS = science; this.calculateAverage = function() { return (this.markE + this.markM + this.markS)/3; } this.displayDetails = function() { document.write("Student Id: " + this.id + "<br />"); document.write("Name: " + this.fName + " " + this.lName + "<br />"); var avg = this.calculateAverage(); document.write("Average Marks: " + avg + "<br /><br />"); } } var st1 = new Student("John", "Smith", 15, 85, 79, 90); var st2 = new Student("Hannah", "Turner", 23, 75, 80, 82); var st3 = new Student("Kevin", "White", 4, 93, 89, 90); var st4 = new Student("Rose", "Taylor", 11, 55, 63, 45); st1.displayDetails(); st2.displayDetails(); st3.displayDetails(); st4.displayDetails(); </script> </head> <body> </body> </html>
Преминаване през свойствата на обект
Синтаксис:
for (variablename in objectname) { lines of code to be executed }
За/в a контур обикновено се използва за преминаване през свойствата на обект. Можете да дадете произволно име за променлив, но името на обекта трябва да е същото като това на вече съществуващ обект, през който трябва да преминете.
Опитайте сами този пример:
<html> <head> <script type="text/javascript"> var employee={first:"John", last:"Doe", department:"Accounts"}; var details = ""; document.write("<b>Using for/in loops </b><br />"); for (var x in employee) { details = x + ": " + employee[x]; document.write(details + "<br />"); } </script> </head> <body> </body> </html>