From 55ddd4454665a3c66e3d5b186bc79048468d36e7 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Mon, 15 Mar 2021 14:29:50 +0300 Subject: Auto fixes --- .../javascript/guide/details_of_the_object_model/index.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'files/ru/web/javascript/guide/details_of_the_object_model') diff --git a/files/ru/web/javascript/guide/details_of_the_object_model/index.html b/files/ru/web/javascript/guide/details_of_the_object_model/index.html index a5fda463eb..f61c174fc9 100644 --- a/files/ru/web/javascript/guide/details_of_the_object_model/index.html +++ b/files/ru/web/javascript/guide/details_of_the_object_model/index.html @@ -55,7 +55,7 @@ translation_of: Web/JavaScript/Guide/Details_of_the_Object_Model Определяем класс с помощью определения класса; создаем экземпляр класса с помощью метода-конструктора. - Определение и создание объекта происходит с помощью функций-конcтрукторов. + Определение и создание объекта происходит с помощью функций-конструкторов. Создание отдельного объекта с помощью оператора new. @@ -388,7 +388,7 @@ public class Engineer extends WorkerBee { -

В JavaScript эти определения используют специальную идеому для установки значений по умолчанию:

+

В JavaScript эти определения используют специальную идиому для установки значений по умолчанию:

this.name = name || '';
 
@@ -443,7 +443,7 @@ jane.machine == 'belau'
  • После возвращения из конструктора, JavaScript присваивает новый объект переменной jane.
  • -

    Можно подумать, что вызвав WorkerBee из конструктора Engineer, вы настроили соответствующим образом наследование для объектов, создаваемых Engineer. Это не так. Вызов конструктора WorkerBee обеспечивает только то, что объект Engineer запускается со  свойствами, определенными во всех функциях-конструкторах, которые были вызваны. Так, если позже добавить свойства в прототипы Employee или WorkerBee, эти свойства не унаследуются объектами из Engineer. Например, предположим, вы использовали следующие определения:

    +

    Можно подумать, что вызвав WorkerBee из конструктора Engineer, вы настроили соответствующим образом наследование для объектов, создаваемых Engineer. Это не так. Вызов конструктора WorkerBee обеспечивает только то, что объект Engineer запускается со  свойствами, определенными во всех функциях-конструкторах, которые были вызваны. Так, если позже добавить свойства в прототипы Employee или WorkerBee, эти свойства не наследуются объектами из Engineer. Например, предположим, вы использовали следующие определения:

    function Engineer (name, projs, mach) {
       this.base = WorkerBee;
    @@ -494,7 +494,7 @@ function Engineer (name, projs, mach) {
      
     
     
    -

    Использование метода call() является более чистой реализацией наследования, так как он не требует создания дополнителного свойства, именованного в примере как base.

    +

    Использование метода call() является более чистой реализацией наследования, так как он не требует создания дополнительного свойства, именованного в примере как base.

    Тонкости наследования свойств

    @@ -529,7 +529,7 @@ WorkerBee.prototype = new Employee;
    var amy = new WorkerBee;
     
    -

    В результате, объект amy будет иметь одно локальное своство - projects. Свойства name и dept не будут локальными для amy но будут взяты из прототипа (объект на который ссылается свойство __proto__ объекта amy). Таким образом, amy имеет три свойства:

    +

    В результате, объект amy будет иметь одно локальное свойство - projects. Свойства name и dept не будут локальными для amy но будут взяты из прототипа (объект на который ссылается свойство __proto__ объекта amy). Таким образом, amy имеет три свойства:

    amy.name == "";
     amy.dept == "general";
    @@ -686,7 +686,7 @@ var mac = new Engineer("Wood, Mac");
     
     

    В JavaScript наследование свойств осуществляется путем поиска в цепочке прототипов. Так как объект может иметь лишь единственный присвоенный ему прототип, JavaScript не может осуществить наследование более чем от одной цепочки прототипов.

    -

    Однако конструктор в JavaScript может вызывать любое количество вложенных конструкторов. Это дает некоторую, хоть и ограниченную (отсутствием прототипной связанности) видимость множественного наследования. Рассмотрим следуюший фрагмент:

    +

    Однако конструктор в JavaScript может вызывать любое количество вложенных конструкторов. Это дает некоторую, хоть и ограниченную (отсутствием прототипной связанности) видимость множественного наследования. Рассмотрим следующий фрагмент:

    function Hobbyist (hobby) {
        this.hobby = hobby || "scuba";
    -- 
    cgit v1.2.3-54-g00ecf