Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Is not a function (https://javascript.ru/forum/events/26567-not-function.html)

Scribblex 13.03.2012 12:38

Is not a function
 
Javascript ООП.
Работаю в рамках одного класса
Класс содержит свойство Background:
this.background = {
id: id1,
data: {
type: 0,
color: 0,
active: 0
}
}
При определенном событии вызывается функция
method = function(e){
.....
self.background.b_data.push({
type: self.tool.type,
color: self.tool.color,
active: 1
});

...
}

Обработчик ошибок пишет self.background.b_data.push. Я перепробовал уже 5ть или 6ть вариантов. Ничего не работает.
П.с. в данном случае, self -- свойство родительского класса, ссылающееся на сам класс

Kolyaj 13.03.2012 12:41

Цитата:

Сообщение от Scribblex
П.с. в данном случае, self -- свойство родительского класса, ссылающееся на сам класс

Она должна быть переменной, а не свойством.

Scribblex 13.03.2012 12:46

Я неправильно выразился.
Но суть дела не поменялась. Меня интересуют в первую очередь причины возникновения is not a function. В сети ничего толкового по теме найти не могу(

Kolyaj 13.03.2012 13:19

А где у background свойство b_data?

Scribblex 13.03.2012 13:21

data: {
type: 0,
color: 0,
active: 0
}

скопировал криво, т.е. data->b_data

nerv_ 13.03.2012 13:26

Цитата:

Сообщение от Scribblex
В сети ничего толкового по теме найти не могу(

правда что ли? http://javascript.ru/forum/css-html-...-function.html

Scribblex 13.03.2012 13:29

Цитата:

Сообщение от nerv_ (Сообщение 162840)

Нет, блин, шучу

Scribblex 13.03.2012 13:31

2nerv_ я прекрасно понимаю, проблемы области видимости, но я не понимаю, почему объект, коим является b_data, имеет какие то претензии на рендеринг в качестве функции при вызове метода. Меня интересуют причины, а не решения

nerv_ 13.03.2012 13:33

Цитата:

Сообщение от Scribblex
Меня интересуют причины, а не решения

var x = 1;

x();

// консоль ff x is not a function

Scribblex 13.03.2012 13:35

2nerv_, Спасибо, получилось разобраться


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