Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   вызов функции (https://javascript.ru/forum/misc/23211-vyzov-funkcii.html)

bugmenot 16.11.2011 13:24

вызов функции
 
Добрый день!

function catalog() {
var main_data = null;
var ask_server = new query();


this.FilterChanged = function name1() {
}


ask_server.Result = function (data) {
main_data = data;//Вполне себе успешно
this.FilterChanged (); //А тут почему-то FilterChanged не существует
}
}

function query(){

$.ajax(
....
success: this.Result;
....
)

this.Result = function(){//все нормально работает}

}

Подскажите почему FilterChanged не существует, как его правильно вызвать

Kolyaj 16.11.2011 14:04

http://javascript.ru/tutorial/object/thiskeyword

B@rmaley.e><e 16.11.2011 14:05

Цитата:

Сообщение от bugmenot
Подскажите почему FilterChanged не существует, как его правильно вызвать

Видимо, потому, что Вы назначаете его на this, а не ask_server.

bugmenot 16.11.2011 14:14

я пробовал делать:
function catalog() {   
this.pages_per_request = 3;
this.FilterChanged =  function (){}

function test(){
this.pages_per_request = 3; //все ок
this.FilterChanged (); //не существует
}

ask_server.Result = function (data) {
main_data = data;
test();
}

в сути test теперь существует, а this.FilterChanged опять не существуте

velther 16.11.2011 14:35

На сколько я знаю, в вашем примере
function test(){
...
this.FilterChanged (); //не существует
...
}

вызывает метод FilterChanged функции test, который не существует.

Kolyaj 16.11.2011 14:55

Ссылку из второго сообщения уже почитайте, там всё написано.

bugmenot 16.11.2011 17:10

спасибо друзья, вы мне помогли


Часовой пояс GMT +3, время: 12:37.