powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ошибка в скрипте.
4 сообщений из 4, страница 1 из 1
Ошибка в скрипте.
    #38738051
Фотография VladislavVV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript">

        function Person(firstName, lastName, age, sex)
            {
                this.firstName = firstName;
                this.lastName = lastName;
                this.age  = age;
                this.sex=sex;
                var _fullName = this.firstName + ' '+this.lastName;

                this.getFullName = function()
                    {
                        var title = '';
                        if (sex ==0) { title = 'Ms.'};
                        if (sex ==1) { title = 'Mr.'};

                        return title+' '+_fullName + ' ' + this.age+' years old';
                    }
            }

        Person.prototype.getFullName = Person.getFullName();


        function JobPosition(jobposition)
        {
            var _salary=0;
            this.position = jobposition.position || 'unknown';
            this.division = jobposition.division || 'unknown';

            this.getJobPosition = function()
                {
                  return this.position+', '+this.division;
                }
            this.setSalary = function(salary)
            {
                _salary = salary;
            }

            this.getSalary = function()
            {
                return _salary;
            }
        }

        JobPosition.prototype.setSalary = JobPosition.setSalary();
        JobPosition.prototype.getSalary = JobPosition.getSalary();


        function personFactory(person, jobposition, daysOfVacancy)
        {
            this.person = person;
            this.jobPosition = jobposition;
            this.vDays = daysOfVacancy;

            if (this.vDays == undefined) { this.vDays = 0};

            this.getPersonInfo = function()
            {
                return this.person.getFullName()+'. '+this.jobPosition.getJobPosition()+'. Salary '+
                        this.jobPosition.getSalary() +'$. Days of vacansy: '+this.vDays;
            }

        }




        function go()
        {
            var person1 = new Person('Mary', 'Smith', 23, 0);
            var jp1 = new JobPosition({position:'manager', division:'HR department.'});
            jp1.setSalary(2000);

            var Mary = new personFactory(person1, jp1, 22);
            var John = new personFactory(new Person('John', 'Anderson', 40,1),
                                         new JobPosition({position:'chief', division:'Boss'}).setSalary(50000), 5);

            for (i=0; i<2; i++)
            {
                var node=document.createElement("LI");
                if (i==0)
                {
                    var textnode=document.createTextNode(Mary.getPersonInfo());
                }
                if (i==1)
                {
                    var textnode=document.createTextNode(John.getPersonInfo());
                }

                node.appendChild(textnode);
                document.getElementById('myList').appendChild(node);
            }


        }



    </script>
</head>
<body>
<button id="btn" onclick="go()">GO</button>
<p id="title">List of persons</p>
<ul id="myList"></ul>
</body>
</html>



объект John имеет заполненный объект Person, но объект JobPosition = indefined
где я ошибся?
...
Рейтинг: 0 / 0
Ошибка в скрипте.
    #38739146
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladislavVV,

Вообще при такой формулировке стоило бы денег попросить... Но пятничное хорошое настроение... Эх так помогу.

Код: javascript
1.
2.
3.
4.
this.setSalary = function(salary) { 
  _salary = salary; 
  return this;
}
...
Рейтинг: 0 / 0
Ошибка в скрипте.
    #38739902
Фотография VladislavVV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрVladislavVV,

Вообще при такой формулировке стоило бы денег попросить... Но пятничное хорошое настроение... Эх так помогу.

Код: javascript
1.
2.
3.
4.
this.setSalary = function(salary) { 
  _salary = salary; 
  return this;
}



ну... денег вам еще подавай.... ))) вы и так уже многое отняли
но, спс за идею!
вот так переделал - заработало
Код: html
1.
2.
3.
 var John = new personFactory(new Person('John', 'Anderson', 40,1),
                                         new JobPosition({position:'chief', division:'Boss'}), 5);
  John.jobPosition.setSalary(50000);
...
Рейтинг: 0 / 0
Ошибка в скрипте.
    #38739980
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladislavVVну... денег вам еще подавай.... ))) вы и так уже многое отняли


Если ты о политике, то в точку не попал)) Я украинец проживающий на территории РФ ;)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ошибка в скрипте.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]