
рдЕрдиреБрд╡рд╛рдж рдХреЗ рдиреЛрдЯреНрд╕рдореИрдВ рдкрд░рд┐рддреНрдпрдХреНрдд рдЕрдиреБрд╡рд╛рдж рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдмрдврд╝рд╛рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓ рдореЗрдВ рдкреНрд░рд╢реНрди OOP рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪреМрдЦрдЯреЗ рдХреЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдЕрдкрдиреА рдХреЙрдореНрдкреИрдХреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рд░реАрдХреА рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рджреЛрдиреЛрдВ рдореВрд▓ рдирд╣реАрдВ рд╣реИрдВ, рд╡реЗ рдПрдХ рд╕рд╛рде рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдХрд╛рдо рдХреА рд╕рдордЭ рджреЗрддреЗ рд╣реИрдВред
рдкреВрд░реНрдгрддрд╛ рдФрд░ рдПрдХ рд╕рдорд╛рди рд╢реИрд▓реА рдХреЗ рд▓рд┐рдП, рдЕрдиреБрд╡рд╛рдж рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╡реЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдП рдЧрдП рдереЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд░рд╛рд╕рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд▓реЗрдЦрдХ рдирдП ES5 рдирд┐рд░реНрдорд╛рдгреЛрдВ (рдЗрд╕рдХрд╛ рдЕрдВрдд рдореЗрдВ рд╕рдордЭрд╛рддреЗ рд╣реБрдП) рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рд╕ рднрд╛рд╖рд╛ рдореЗрдВ рд╡реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдереЗ, рдЙрд╕рдХреА рдирд┐рдореНрди рд╕реНрддрд░ рдХреА рдЙрдирдХреА рд╕рдордЭ рдХреЛ рдЕрд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд░рд╛рд╕рдд рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордЭ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ ES5 рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЖрд╡рд░рдг рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЧрд╣рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП: Object.create, Object.defineProperty, Function.bind, рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рд╢рд╛рдмреНрджрд┐рдХ, Object.getOwnPropertyNames, Object.defineProperty, Object.getOwnProperdDDред .getPrototypeOfред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рд▓реЗрдЦ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ (Object.create, get and set, Object.defineProperty, bind), рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдирд╣реАрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓реЗрдЦ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдПрдХреНрдорд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ 5 рдорд╛рдирдХ рдХреЗ рдХрд╛рдордХрд╛рдЬреА рдорд╕реМрджреЗ рдореЗрдВ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдкреНрд░рд╛рд╡рдзрд╛рдиреЛрдВ рдХреА рдкреВрд░реА рд╕рдордЭ рд╕реЗ рдХреБрдЫ рдХрдо рд╣реИред
рд▓реЗрдХрд┐рди рд▓реЗрдЦ рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛, рдХрдИ (4) рдмрдбрд╝реЗ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рд╢реБрджреНрдз рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡рд╣рд╛рдБ рд╣реИ, .create (), рдЕрджреГрд╢реНрдп рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рд╣реИ), рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдмрд╛рдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЬреЛ рдЕрдкрдиреЗ рд╢реБрджреНрдз рд░реВрдк рдореЗрдВ рдЕрддреНрдпрдВрдд рджреБрд░реНрд▓рдн рд╣реИред рд╣реЛрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рднрд╛рдЧ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢1. рд╡рд╕реНрддреБ1.1 рд╡рд╕реНрддреБрдПрдВ рдХреНрдпрд╛ рд╣реИрдВ? (рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА)
1.2 рдЧреБрдг рдмрдирд╛рдирд╛ (Object.defineProperty)
1.3 рд╕рдВрдкрддреНрддрд┐ рд╡рд┐рд╡рд░рдгрдХ (Object.defineProperty)
рез.рек рд╕рд┐рдВрдЯреЗрдХреНрд╕ рдкрд╛рд░реНрд╕рд┐рдВрдЧ (рдмреНрд░реИрдХреЗрдЯ рдЕрдВрдХрди: рд╡рд╕реНрддреБ [] рд╕рдВрдкрддреНрддрд┐ тАЩ])
1.5 рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ (рдХреЛрд╖реНрдардХ рд╕рдВрдХреЗрддрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)
1.6 рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ (рдСрдкрд░реЗрдЯрд░ рд╣рдЯрд╛рдПрдВ)
1.7 рдЧреЗрдЯреНрд╕ рдПрдВрдб рд╕реЗрдЯрд░реНрд╕ (рдПрдХреНрд╕реЗрд╕ рдФрд░ рд░рд╛рдЗрдЯрд┐рдВрдЧ рдореЗрдердбреНрд╕)
1.8 рд╕рдВрдкрддреНрддрд┐ рд╕реВрдЪреА (getOwnPropertyNames, рдЪрд╛рдмрд┐рдпрд╛рдБ)
1.9 рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рд╕рд╛рд╣рд┐рддреНрдп (рдореВрд▓ рд╕рдВрдЪрд╛рд▓рдХ)
2. рддрд░реАрдХреЗреи.рез рдЗрд╕ рдЧрддрд┐рд╢реАрд▓
реи.реи рдпрд╣ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
реи.реи.рез рдпрджрд┐ рдПрдХ рд╡рд╕реНрддреБ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
2.2.2 рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдореЗрдВ (рдпрд╣ === рд╡реИрд╢реНрд╡рд┐рдХ)
реи.реи.рей рдЬрдм рд╕рдВрджрд░реНрдн рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ (.apply, .call)
2.3 рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдпрдХрд╛рд░реА рддрд░реАрдХреЗ (.bind)
рднрд╛рдЧ 2 рдХреА рд╕рд╛рдордЧреНрд░реА3. рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рд░рд╛рд╕рдд3.1 рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк
3.2 рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
[[рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк]]3.3 рд╕рдВрдкрддреНрддрд┐ рдУрд╡рд░рд░рд╛рдЗрдб
3.4 рдорд┐рд╢реНрд░рдг (рдЕрд╢реБрджреНрдзрд┐рдпрд╛рдБ)
3.5 рдкрд░рд┐рд░рдХреНрд╖рд┐рдд ('рдЕрдзрд┐рд▓реЗрдЦрд┐рдд') рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ
рднрд╛рдЧ 3 рдХреА рд░реВрдкрд░реЗрдЦрд╛4. рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░
4.1 рдирдП рдСрдкрд░реЗрдЯрд░
рдХрд╛ рдЬрд╛рджреВ
рек.реи рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд░рд╛рд╕рдд
5. рд╕рдордЭреМрддреЛрдВ рдФрд░ рдЕрдиреБрдХреВрд▓рддрд╛
5.1 рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
5.2 рд╕рдВрдкрддреНрддрд┐ рдкрд░рд┐рднрд╛рд╖рд╛
5.3 рд╕рдВрдкрддреНрддрд┐ рдХреА рд╕реВрдЪреА
5.4 рдмрд╛рдВрдзрдиреЗ рдХреЗ рддрд░реАрдХреЗ
5.5 [[рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк]] рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
5.6 рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп
6. рд╕рд┐рдВрдЯреЗрдХреНрд╕ рд░реИрдкрд░
7. рдЖрдЧреЗ рдХреНрдпрд╛ рдкрдврд╝рдирд╛ рд╣реИ
8. рдЖрднрд╛рд░
рдиреЛрдЯ
3. рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рд░рд╛рд╕рдд
рдЕрдм рддрдХ, рд╣рдордиреЗ рдЬрд╛рдВрдЪ рдХреА рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрджрд░реНрдн рдХреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдкрд░ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдЙрдирдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рдЕрдЧрд▓рд╛, рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдЦреЗрд▓ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрдирдХреЗ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдВрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЪреБрдирд┐рдВрджрд╛ рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВрдЧреЗред рдХреЗрд╡рд▓ рджреБрдЦ рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЬреЗрдПрд╕ рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рдореЙрдбрд▓ рдереЛрдбрд╝рд╛ рд╕реАрдорд┐рдд рд╣реИ, рдФрд░ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрди рддрдХрдиреАрдХреЛрдВ рдХреЛ рдХрдИ рдмрд╛рд░ рдорд╕реНрддрд┐рд╖реНрдХ рдХреЛ рд╕рд╣рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЕрддреНрдпрдзрд┐рдХ рд╣реЛрдЧрд╛ред
3.1ред рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШреВрдорддрд╛ рд╣реИред рдЬрд┐рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЙрд╕реЗ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред
рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдЖ рд╣реИ - рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
(рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд╕реНрд╡реАрдХреГрдд рдПрдХ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХреБрдЫ рд╣рдж рддрдХ рдкрдХреНрд╖рдкрд╛рддреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ, рдЬрдм рдорд╛рддрд╛-рдкрд┐рддрд╛ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд╛рд▓реЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдЕрдиреБрд╡рд╛рдж рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ - рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджред)рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреНрд▓реЛрдирд┐рдВрдЧ рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдбреЗрдЯрд╛ рдХреА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рддрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреЗрдПрд╕ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рд╕рднреА рдЧреБрдг рдорд╛рддрд╛-рдкрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╛рд░рд┐рд╕реЛрдВ рдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред
рд╣рдорд╛рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдЕрдм рддрдХ рдЗрд╕ рдореЙрдбрд▓ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд╛рдо рдФрд░ рдЧреНрд░реАрдЯрд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреЛ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЙрдбрд▓ рдкрд░ рд▓рд╛рддрд╛ рд╣реИ:
рдЗрд╕реЗ рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЬреЗрдПрд╕ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
(ES5 рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдЯреНрдЯрд░ рдирдпрд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ред рдпрд╣ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдбрд┐рдлрд╛рдЗрдирд░рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рддрд░реНрдХ рдПрдХ рд╡рд╕реНрддреБ рд╣реИ, рдЙрд╕рдХрд╛ рдирд╛рдо рдФрд░ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖ рдСрдмреНрдЬреЗрдХреНрдЯ - рд▓рдЧрднрдЧредрд▓реЗрдЦ рдХреЗ 1 рднрд╛рдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдЕрд╡рд┐рд╢реНрд╡рд╛рд╕рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП jsfiddle (1) (IE9 +)3.2ред [[рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк]] рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдПрдХ рднреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдорд┐рдЦрд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рднреА рдареАрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд (рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд) рдЬреЗрдПрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рдорд╛рддрд╛-рдкрд┐рддрд╛ рдореЗрдВ рдЧреБрдг рдЦреЛрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рдореВрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рдЫрд┐рдкреА рд╣реБрдИ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ [[рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк]] рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЬрд╣рд╛рдВ .__ proto__ рд╕рдорд░реНрдерд┐рдд рд╣реИ), рдЗрд╕рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛рдиреЗ рдкрд░ рдПрдХрдорд╛рддреНрд░ (рдирд┐рд░реНрджрд┐рд╖реНрдЯ) рддрд░реАрдХрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдЬрдм рдХрд┐рд╕реА рд╡рд╕реНрддреБ рд╕реЗ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╡рд╕реНрддреБ рдХреЗ рдЕрдкрдиреЗ рдЧреБрдгреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕реА рдХреЛрдИ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ - рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдВрдд рддрдХ рдпрд╛ рдкрд╣рд▓реЗ рдореМрдЬреВрджрд╛ рд╕рдВрдкрддреНрддрд┐ рддрдХред
рдпрджрд┐ рд╣рдо рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рддреБрд░рдВрдд рдЕрдиреНрдп рд╡рд╛рд░рд┐рд╕ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рднреА рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред
3.3ред рд╕рдВрдкрддреНрддрд┐ рдУрд╡рд░рд░рд╛рдЗрдб
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдФрд░ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореЗрдореЛрд░реА рд▓рд╛рдЧрдд рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рдФрд░ рдХреБрд╢рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд╡рд╛рд░рд┐рд╕реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рдордп рдЙрдкрд▓рдмреНрдз рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд╣рдордиреЗ рдкрд╣рд▓реЗ рджреЗрдЦрд╛ рдерд╛ рдХрд┐ рдЧреБрдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ - рдмрд╕ рдирдП рдЧреБрдгреЛрдВ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред
рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╡реНрдпрдХреНрддрд┐ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЕрднрд┐рд╡рд╛рджрди рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡реНрдпрдХреНрддрд┐ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрднрд┐рд╡рд╛рджрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЕрдВрддрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВрдЧреЗред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдорд┐рдЦрд╛рдЗрд▓ рдФрд░ рдХреНрд░рд┐рд╕реНрдЯрд┐рди рдХреЛ
рдЕрднрд┐рд╡рд╛рджрди рд╡рд┐рдзрд┐ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрдХреНрдд рдХреА рдЧрдИ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рд╣реИрдВред
... рдХреЛрдб рдореЗрдВ рдЙрджрд╛рд╣рд░рдг(рд╣рдо рдЖрдЧреЗ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЪрд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ - рд╡реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИрдВ jsfiddle.net ("=====" рд╕реЗ рд╡рд┐рднрд╛рдЬрди рд░реЗрдЦрд╛ рдХреЗ рдКрдкрд░) рдпрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓реЗрдЦ рд╕реЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ - рдиреЛрдЯред )
jsfiddle (2)3.4 рдорд┐рд╢реНрд░рдг (рдЕрд╢реБрджреНрдзрд┐рдпрд╛рдБ)
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИрдВ, рд╡реЗ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдХреЗрд╡рд▓ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рдордп рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рджреВрд╕рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд░рд╛рд╕рдд рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЕрдиреНрдп рд░реЛрдЪрдХ рдорд╛рдорд▓реЛрдВ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рднреА рд▓рд╛рднреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рдореЗрдВ рдорд┐рд▓рд╛рдирд╛, рдорд┐рд╢реНрд░рдг рдХрд░рдирд╛ рдФрд░ рд╕рдВрдпреЛрдЬрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХрд╛рдзрд┐рдХ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ - рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдзрд┐рдпреЛрдВ рдпрд╛ рдЧреБрдгреЛрдВ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рджреЗрддреЗ рд╣реИрдВред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЪреВрдВрдХрд┐ рд╣рдо рд╕реАрдзреЗ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЕрд╢реБрджреНрдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рд╡рд╕реНрддреБрдУрдВ рдХреА рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рднрд╛рд╖рд╛ред
рдЕрд╢реБрджреНрдзрд┐рдпрд╛рдБ рдХреНрдпрд╛ рд╣реИрдВ? рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ "рдЬрдбрд╝рд╡рд┐рд╣реАрди" рд╣реИрдВ, рдЬрд┐рди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХрд╣реАрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рдЧреБрдгреЛрдВ-рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░, рдЬреНрдпрд╛рджрд╛рддрд░, рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдирдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рд╕реАрдзреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рд╣рдорд╛рд░реЗ рдЫреЛрдЯреЗ рдЪрд░рд┐рддреНрд░ рдореЙрдбрд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░рдирд╛, рдЖрдЗрдП рдЙрдирдХреЗ рд╕рд╛рде рдХреБрдЫ рдХреНрд╖рдорддрд╛рдПрдВ рдЬреЛрдбрд╝реЗрдВред рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкрд┐рдпрд╛рдиреЛрд╡рд╛рджрдХ рдпрд╛ рдЧрд╛рдпрдХ рд╣реЛрдиреЗ рджреЗрдВ - рдордирдорд╛рдиреА рд╕рдВрдпреЛрдЬрдиреЛрдВ рдореЗрдВ рдкрд┐рдпрд╛рдиреЛрд╡рд╛рджрдХ рдпрд╛ рдЧрд╛рдпрдХ рдХреЗ рддрд░реАрдХреЗред рдпрд╣ рдорд╛рдорд▓рд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЙрдбрд▓ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЪрд▓реЛ рдереЛрдбрд╝реА рдЪрд╛рд▓ рдХреЗ рд▓рд┐рдП рдЪрд▓рддреЗ рд╣реИрдВред
(рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдорд┐рд╢реНрд░рдг рдХреЛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд╕рд╛рде рд╡рд┐рд░рд╛рд╕рдд рдХреА рдПрдХ рдЪрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдорд┐рд╢реНрд░рдг рдЪреБрдирдирд╛ рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдЗрд╖реНрдЯрддрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ, рдФрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЙрдбрд▓ рдореЗрдВ рдЕрд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХрддрд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реИред - рдиреЛрдЯредрдорд┐рд╢реНрд░рдг рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рдЬреЗрдПрд╕ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡рд╕реНрддреБ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ
рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ (рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ) рдЧреБрдгреЛрдВ рдХреА рдирдХрд▓ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
var descriptor = Object.getOwnPropertyDescriptor
рдпрд╣рд╛рдВ () рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрд░реЛрдд рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ (рдФрд░) рдЙрдиреНрд╣реЗрдВ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓рдХреНрд╖реНрдп рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдЙрд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рд░реНрдп рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдорд╣рдВрдЧрд╛ рд╣реИред
рдЕрдм рд╣рдо рдЕрдкрдиреА рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ "рдХреНрд╖рдорддрд╛" рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдПрдХ рдорд┐рд╢реНрд░рдг рдЬреЛрдбрд╝реЗрдВ var pianist = Object.create(null);
рдЖрд╕рд╛рди рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП jsfiddle (3) (IE9 +)3.5ред рдкрд░рд┐рд░рдХреНрд╖рд┐рдд рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ
рд╣рдордиреЗ рдЧреБрдгреЛрдВ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рджреЗрдирд╛ рдФрд░ рдорд┐рдХреНрд╕рд┐рдВрд╕ рдХреЗ рд╕рд╛рде рдЙрдирдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╕реАрдЦрд╛ред рдЕрдм рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдореВрд▓ рд╡рд╕реНрддреБ рдХреА рдкреБрдирд░реНрдирд┐рд░реНрдорд┐рдд (рдкрд░рд┐рд░рдХреНрд╖рд┐рдд) рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
JS рдПрдХ Object.getPrototypOf рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ [[рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк]] рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:
Object.getPrototypeOf(mikhail).name;
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ рдХрд┐ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рд╕рдВрджрд░реНрдн (рдпрд╣) рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
var proto = Object.getPrototypeOf;
рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдкрдХрдбрд╝ рд╣реИ: рдпрджрд┐ рдЖрдк рддрддреНрдХрд╛рд▓ рдкреВрд░реНрд╡рдЬ рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдЕрдирдВрдд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╣реЛрдЧреА рдХрд┐
рдпрд╣ рд╣рдореЗрд╢рд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд┐рдХрдЯрддрдо рд╕рдВрджрд░реНрдн рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдЙрд╕реА рдореВрд▓ рд╡рд╕реНрддреБ рдкрд░ рдЧрд┐рд░реЗрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╕рдЪрд┐рддреНрд░ рд╣реИ:
рдПрдХ рд╕рд░рд▓ рдЙрдкрд╛рдп рдпрд╣ рд╣реИ рдХрд┐ рдЕрднрд┐рднрд╛рд╡рдХ рд╕реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд▓рд┐рдпрд╛ рдЬрд╛рдП, рди рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕реЗред рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

:
var proto = Object.getPrototypeOf;
рд╡рд┐рдзрд┐ рдХрдорд┐рдпрд╛рдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд╣реИ: рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдЦреНрддреА рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рд▓реЗ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд┐рд╕реА рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдерд╛ред рдлрд╝рдВрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреВрд░реНрд╡рдЬ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛, рди рдХрд┐ рд╕реНрд╡рдпрдВ рдкрд░ред
рдпрджрд┐ рдЖрдк рдореВрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдЧрддрд┐рд╢реАрд▓, рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкрд╣реБрдВрдЪ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм рд╣реИ, рдЬрд▓реНрджреА рд╕реЗ рдмрджрд╕реВрд░рдд рд╣реИрдХреНрд╕ рдореЗрдВред
(рдЕрд░реНрдерд╛рддреН, рдкреНрд░рддреНрдпреЗрдХ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░ рдХреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░-рдкреВрд░реНрд╡рдЬ рдХреА рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП .ancestor рдпрд╛ .superclass рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджрдЬреЗрдПрд╕ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдРрд╕рд╛ рд╣реА рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХрд╛ рдкреЗрд╢ рдХрд░рдХреЗред рд╣рд╛рдБ, рд╡рд┐рдзрд┐рдпрд╛рдБ, рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рдирд╣реАрдВред
[For [рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк] ions рдореЗрдВ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рд╡рд╣ рд╡рд╕реНрддреБ рдЬрд╣рд╛рдВ рд╡реЗ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕реНрдереИрддрд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реА рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рд╣рдо Make_method рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд▓рдХреНрд╖реНрдп рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИред
(рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рдЙрд╕ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реА рдкрд░рд┐рд░рдХреНрд╖рд┐рдд рдкрджреНрдзрддрд┐ рдШреЛрд╖рд┐рдд рдХреА рдЧрдИ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рд╡рд┐рдзрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рд▓рдЧрднрдЧред рд╕реНрдерд╛рдирд╛рдВрддрд░рдгред)рдкрд░рд┐рд░рдХреНрд╖рд┐рдд рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди-рдЪрд░рдг рдХреА рд╡рд┐рд░рд╛рд╕рдд
(рдмреЗрд╣рддрд░ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдореВрд▓ рд▓реЗрдЦ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЯреНрд░реЗрд╕ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рдореЗрдВ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореВрд▓ рдХреЗ рдЯрд╛рдЗрдкреЛ рдХреЛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджред) jsfiddle (4), рдЦреБрджрд╛рдИ рдХреЗ рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПрдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдПред