Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ошибка в скрипте. / 4 сообщений из 4, страница 1 из 1
04.09.2014, 23:34
    #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
05.09.2014, 23:44
    #38739146
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в скрипте.
VladislavVV,

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

Код: javascript
1.
2.
3.
4.
this.setSalary = function(salary) { 
  _salary = salary; 
  return this;
}
...
Рейтинг: 0 / 0
07.09.2014, 19:49
    #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
07.09.2014, 21:55
    #38739980
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в скрипте.
VladislavVVну... денег вам еще подавай.... ))) вы и так уже многое отняли


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


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