рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрдХрдиреАрдХреЗрдВ:
- рдирдпрд╛ рд╕рдВрдЪрд╛рд▓рдХ
- рд╢рд╛рдмреНрджрд┐рдХ рдЕрдВрдХрди
- рдСрдмреНрдЬреЗрдХреНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕
- рд╕рд╣рдпреЛрдЧреА рд╕рд░рдгрд┐рдпрд╛рдБ
рдирдП рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдпрд╣ рд╢рд╛рдпрдж рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред рдЖрдк рдмрд╕ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╛рдо рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдирдИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрд░рд╛рдмрд░ рдХрд░рддреЗ рд╣реИрдВред
// рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рдмрдирд╛рдПрдВ MyObject = рдирдИ рд╡рд╕реНрддреБ (); // рдЪрд░ MyObject.id = 5; // рдирдВрдмрд░ MyObject.name = "рдирдореВрдирд╛"; // рд╕реНрдЯреНрд░рд┐рдВрдЧ // рдлрд╝рдВрдХреНрд╢рдВрд╕ MyObject.getName = function () {рдЗрд╕реЗ рд▓реМрдЯрд╛рдПрдВ редрдирд╛рдо; }
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдирдИ рдмрдирд╛рдИ рдЧрдИ рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
// рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдЪреЗрддрд╛рд╡рдиреА (MyObject.getName ());
рд╢рд╛рдмреНрджрд┐рдХ рдЕрдВрдХрди
рд╢рд╛рдмреНрджрд┐рдХ рдЕрдВрдХрди рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреБрдЫ рдЕрд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдордЭрдиреЗ рдореЗрдВ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рд╢рд╛рдмреНрджрд┐рдХ рд╕рдВрдХреЗрддрди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ 1.3 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
// рд╢рд╛рдмреНрджрд┐рдХ рдЕрдВрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рдмрдирд╛рдПрдВ
Myobject = {
рдЖрдИрдбреА: 1,
рдирд╛рдо: "рдирдореВрдирд╛",
рдмреЛрд╡реЗрд▓: рд╕рдЪ,
getName: рдлрд╝рдВрдХреНрд╢рди ()
{
рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░реЗрдВред рдирд╛рдо;
}
}
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред
рд╡рд╕реНрддреБ = {
рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛: рдореВрд▓реНрдп,
...
}
рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
рдЪреЗрддрд╛рд╡рдиреА (MyObject.getName ());
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рд░-рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рдирд┐рд░реНрдорд╛рддрд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рднреА рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдорд╛рд░реЛрд╣ MyObject (рдЖрдИрдбреА, рдирд╛рдо)
{
}
рд╣рдордиреЗ рд╕рд┐рд░реНрдл рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд▓рд┐рдЦрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде, рд╣рдо рдЕрдкрдиреА рд╡рд╕реНрддреБ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред
var MyFirstObjectInstance = рдирдпрд╛ MyObject (5, "рдирдореВрдирд╛");
var MySecondObjectInstace = new MyObject (12, "рдУрдереЗ рд╕реИрдВрдкрд▓");
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПред рдЕрдм рд╣рдо MyObject рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдбрд░ рдХреЗ рдмрд┐рдирд╛ рдХрд┐ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдмрджрд▓рдХрд░, рд╣рдо рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдВрдЧреЗред
OOP рдХреА рддрд░рд╣, MyObject рдореЗрдВ рддрд░реАрдХреЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЧреБрдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЧреБрдгреЛрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдорд╛рд░реЛрд╣ MyObject (рдЖрдИрдбреА, рдирд╛рдо)
{
// рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдорд╛рди
this._id = id;
this._name = рдирд╛рдо;
// рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди
this.defaultvalue = "MyDefaultValue";
}
рдЗрд╕реА рддрд░рд╣, рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдорд╛рд░реЛрд╣ MyObject (рдЖрдИрдбреА, рдирд╛рдо)
{
this._id = id;
this._name = рдирд╛рдо;
this.defaultvalue = "MyDefaultValue";
// рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
this.getDefaultValue = function ()
{
рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░реЗрдВред
}
// рдПрдХ рдирдпрд╛ рдорд╛рди рд╕реЗрдЯ рдХрд░реЗрдВ
this.setDefaultValue = function (newvalue)
{
this.defaultvalue = newvalue;
}
// рдордирдорд╛рдирд╛ рдХрд╛рд░реНрдп
this.sum = function (a, b)
{
рд╡рд╛рдкрд╕реА (рдП + рдмреА);
}
}
рд╕рд╣рдпреЛрдЧреА рд╕рд░рдгрд┐рдпрд╛рдБ
рд╕рдорд╛рди рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╡рд┐рдзрд┐ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред
var MyObject = рдирдпрд╛ рдирдВрдмрд░ ();
MyObject ["рдЖрдИрдбреА"] = 5;
MyObject ["рдирд╛рдо"] = "рдирдореВрдирд╛ рдирд╛рдо";
рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдХреЗ рд▓рд┐рдП (MyObject рдореЗрдВ MyElement)
{
// рдмрд╛рдИрдкрд╛рд╕ рдХреЛрдб
// MyElement рдореЗрдВ - рд░рд┐рдХреЙрд░реНрдб рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
// MyObject рдореЗрдВ [MyElement] - рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА
}
рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЫреЛрдЯреА рд░реВрдкрд░реЗрдЦрд╛ рддреИрдпрд╛рд░ рдХреА рдЧрдИ рд╣реИред

рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рдкреАрдПрдирдЬреА рдПрд╕рд╡реАрдЬреАрдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж