|
|
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
Есть код Примера : Код: plaintext 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. Результаты : false* true^ undefined| Вопросы : 1) Почему пока не раскоментирована строка //var myM = new M(); в Резултатах имеем false* Т.е. почему нужно инициализировать объект, ведь функция сама по себе является объектом? 2) Как из метода объекта обратиться к объекту (this в методе mm не прокатывает) и как к его родителю? 3) Почему в методах родительского объекта Circle не инициализируя родительский объект явно , а только создавая дочерний объект FullCircle нельзя изменить значения переменных вне тела метода ( var e; дает undefined в Результатах ) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 17:16 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
kefi Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. this в первом и втором случае - разный: в первом случае this - это FullCircle, а, во втором, - window. Возьмите сами debugger и проверьте. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2009, 13:00 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
Ex_Soft this в первом и втором случае - разный: в первом случае this - это FullCircle, а, во втором, - window. Так в контексте 1-го поста непонятно "почему" так - видимо, пока функция не вызвана (var myM = new M(); или myCircle.mm() - кстати- не вызывается что-то ? ?????? ), она как экземпляр объекта, на который this мог юы вернуть ссылку, не имеет места быть ; , ну и - остальные вопросы тоже... . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2009, 20:19 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. Mozilla Firefox 3.0.7 + Mozilla FireFox -> Tools -> Firebug 1.3.3 Ставим breakpoint на выделенную линию (23) и трассируем... BTW, заметьте: var myM = new M(); - за'rem'лено, а this.mm=M(); - вызываецо... Даже, на характер, в M$ IE 6.0.2800.1106+SP1 (подцепился VS2005) проверил - и там вызываецо... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2009, 08:07 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
BTW, поставьте еще breakpoint'ы на линии 11, 17 и про'debugg'тьте под мозилкой и M$ IE... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2009, 08:11 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
Ex_Soft про'debugg'тьте Я смысла пока не понимаю - зачем. И так все продебаггено, что я должен там увидеть. Что Вы хотели показать ? Пока вопросы - "Почему" из первого поста меня волнуют . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2009, 00:22 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
Не знаю что Вы, где и под чем debugg'ерили, но у меня под Mozilla Firefox 3.0.7, M$ IE 6.0.2800.1106+SP1, Windows Script Host (wscript.exe ver. 5.6.0.6626) code Код: plaintext 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. выдает всегда false* true^ true| причем вне зависимости от за'rem'ленности var myM = new M(); _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2009, 14:11 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
Ex_SoftНе знаю что Вы, где и под чем debugg'ерили, но у меня ... Вы уже 4-й пост посылаете не по теме, о чем я Вам уже после первого Вашего ответа намекал. Возникает вопрос - зачем ? Прочтите пожалуйста внимательно стартовый пост и не искажайте его в своих примерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2009, 15:51 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
kefi не по теме Ну раз Вы считаете не по теме - значит не по теме. P.S. kefi не искажайте его Взято по принципу copy -> paste из Вашего первого поста. Что бы не быть голословным, будьте любезны, укажите, существенные на Ваш взгляд, искажения. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2009, 16:50 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
2 Ex_Soft > Ваш пример у меня работает так же как и у Вас, но он отличен от исходного. Разница есть в : Код: plaintext Код: plaintext Вопросы 1 поста : 1) Почему пока не раскоментирована строка //var myM = new M(); в Результатах имеем false* Т.е. почему нужно инициализировать объект, ведь функция сама по себе является объектом? 2) Как из метода объекта обратиться к объекту (this в методе mm не прокатывает) и как к его родителю? 3) Почему в методах родительского объекта Circle не инициализируя родительский объект явно , а только создавая дочерний объект FullCircle нельзя изменить значения переменных вне тела метода ( var e; дает undefined в Результатах ) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2009, 17:23 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
kefi 1) Почему пока не раскоментирована строка //var myM = new M(); в Резултатах имеем false* Т.е. почему нужно инициализировать объект, ведь функция сама по себе является объектом? вызов с оператором new - вызов функции как конструктора. Тогда this - создаваемый объект. при простом вызове функций(=метода), this - объект, которому она принадлежит. В браузере, глобальный объект - window. В wscript-е - пнятия не имею, может null kefi 2) Как из метода объекта обратиться к объекту (this в методе mm не прокатывает) и как к его родителю? mm был бы методом, если бы объявлялся this.mm=M; а сейчас он "ничто" - функция M ничего не вернула kefi 3) Почему в методах родительского объекта Circle не инициализируя родительский объект явно , нуу.., похоже потому что так задумано kefi а только создавая дочерний объект FullCircle нельзя изменить значения переменных вне тела метода ( var e; дает undefined в Результатах ) ? можно, раскомментируйте // e=(this instanceof FullCircle); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2009, 19:26 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2009, 19:58 |
|
||
|
JavaScript: вопросы по объектам ...
|
|||
|---|---|---|---|
|
#18+
2 LINUXER > можно, раскомментируйте // e=(this instanceof FullCircle); Но это будет не в методе родителя , а в методе потомка. Вопрос же был - почему нельзя просто создав потомка, без явного вызова метода родителя , в котором изменяется значение внешней переменной. Но, вроде как - понятно. А как насчет - обратиться к родителю из метода потомка ? Яростный Мечkefi, возможно, ответы на все вопросы есть тут Да, возможно, обязательно посмотрю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2009, 21:49 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35856952&tid=1455107]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 382ms |

| 0 / 0 |
