|
|
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
function mainFunction () { this.el = 0; this.elarray = [ { a:11, b:22, c:0 }, { a:111, b:222, c:1 }] var element = this.elarray [this.el]; } Как мне в другой функции найти и вывести этот элемент? Пробовал так: function function1 (event) { alert(this.city) } Не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 14:09 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
Пробовал так: function function1 (event) { alert(this.el) } Не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 14:10 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 14:14 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
При обработке событий контекст меняется, this указывает на другой объект, а не на функцию. Проще всего замкнуть нужный вам параметр при создании обработчика. То есть Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Но это плохо, лучше замыкать как можно меньшие объекты, что бы проще было следить за ситуациями, когда память начнет течь. То есть. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Или el будет меняться после задания обработчика? Если да, то придется замыкать по первому варианту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 15:36 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
RAndrew, да, причем может многократно меняться за один сеанс работы с Web-приложением. Вот именно утечки памяти и опасаюсь.. ShSerge, к сожалению, Ваш вариант не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 17:53 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
RAndrew, 1) mainFunction.function1() функция не доступна из объекта 2) var забыл 3) если так хочется пожадничать, то заверни только то что надо, звать метод которому предается свойство того же объекта - как-то совсем неправильно Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 17:58 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
А может реализовать эту функцию как prototype? Тогда и обращаться можно будет через this ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 19:05 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
MaxPayneА может реализовать эту функцию как prototype? Тогда и обращаться можно будет через this а я не знаю что он так намудрил, наверное ему это было зачем-то нужно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 19:47 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
зы, просто я и спрашиваю, как лучше сделать. Но если реализовывать через prototype - будет ли возможность включить собственный обработчик событий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 19:58 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно, что надо получить? - Чтобы уметь вызывать методы/свойства другой функции? Или хочется создать метод-инициализатор, в котором собрать общедоступные свойства? - Первое нельзя без передачи экземпляра (ссылки), второе - не видно смысла, так как свойства можно просто вынести в зону общей видимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 20:40 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
зыRAndrew, 1) mainFunction.function1() функция не доступна из объекта Хух? Из какого объекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2009, 14:57 |
|
||
|
Проблема с this
|
|||
|---|---|---|---|
|
#18+
MaxPayneRAndrew, да, причем может многократно меняться за один сеанс работы с Web-приложением. Вот именно утечки памяти и опасаюсь.. Если это весь код работы с этим объектом, то ничего не потечет, если при задании обработчика замкнуть сразу this, он, на сколько я понял, не меняется, меняется только его содержимое. Единственное, что если будет создаваться новый объект и не раз ... = new mainFunction (), то и обработчик надо будет переопределять, либо удалять из очереди обработчиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2009, 15:03 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35976780&tid=1454862]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 497ms |

| 0 / 0 |
