На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> обращение к переменным объекта
    нет не то с классом не надо :D
      это не класс - это функция :tong:

      Добавлено
      это же js, тут всё есть функция

      Добавлено
      Цитата Serafim @
      ExpandedWrap disabled
        class Person {
          name = '';
          age = 0;
        }

      тоже самое что и:
      ExpandedWrap disabled
        const Person = (function() {
          function Person() {
            this.name = '';
            this.age = 0;
          }
         
          return Person;
        })();


      Ну т.е. вообще один в один
        само слово класс меня бесит :D
        ну не проповедуют авторы книжки по которой я учу JavaScript классы, упор делается объекты, прототипы , цепочки прототипов ;)

        Добавлено
        за пример спс буду попозже исследовать его пока там много всяких непонятных для меня слов :D
        Сообщение отредактировано: Cfon -
          вариант с закрытыми членами
          ExpandedWrap disabled
            var Person = function(name, bday){
              // закрытые члены
              var $name = name, $bday = bday;
              
              function calcAge() {
                var today = new Date();  
                var age = today.getTime() - bday.getTime();
                return Math.floor(age/(1000*24*60*60*365));
              }
             
              // открытые члены
              return {
                getName : function(){ return $name;},
                getBirthDay: function(){ return $bday;},
                getAge: function(){ return calcAge(); },
                setName: function(name){ $name = name;},
                setBirthDay: function(bday){ $bday = bday;},    
                toString: function() { return $name + ' is a ' + calcAge() + ' years old.';}
              };
             
            };
             
            var gregory = new Person('Gregory', new Date('1980-01-11'));
            console.log(gregory.toString());
          Сообщение отредактировано: Cfon -
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0253 ]   [ 15 queries used ]   [ Generated: 18.04.24, 06:41 GMT ]