![]() |
|
||||||||||
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Ещё раз доброго времени суток.
В хелпе написано что у call() первый параметр это thisArg, у которого есть значение по умолчанию - NaN. Но если я использую call(), то он вообще не учитывает thisArg private function f1(arg1:*, arg2:*, arg3:* = null):void { trace(arg1 + ' ' + arg2 + ' ' + arg3); } //...... f1.call(null, 'asdasd', null); ![]() Объясните или дайте что почитать. Заранее спасибо за разъяснения. |
|
|||||
|
в thisArg передается объект который будет использовать в функции как this. Но так как у Вас f1 это метод класс, то так просто изменить this не получится. Единственное где можно изменить this это в анонимной функции:
__________________
http://www.chessmax.ru |
|
|||||
|
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Я в курсе кто такой thisArg, я спрашиваю
Цитата:
|
|
|||||
|
Регистрация: Jul 2007
Сообщений: 393
|
Цитата:
|
|
|||||
|
.
|
Цитата:
|
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Интересно.
В as3 если при вызове не задать функции всех обязательных параметров (поменять сигнатуру), то выдаст ошибку, тогда как (если я не ошибаюсь) в Си можно создать две функции с тем же именем, но с разными аргументами, и это будут две разные функции, что есть очень удобно. По-моему call() ведёт себя похоже, раз не учитывается параметр, то есть как бы две разные функции - для bounded и unbounded методов с тем же именем? Возможно ли запилить свой такой метод (2 метода с тем же именем) ? |
|
|||||
|
Цитата:
Цитата:
Цитата:
Цитата:
__________________
http://www.chessmax.ru |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:34. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|