Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   is not a function (https://javascript.ru/forum/misc/15647-not-function.html)

OrmaJever 08.03.2011 01:12

is not a function
 
function a(){ alert(this); }
window.a();
// Object Window
function a(){ alert(this); }
window.document.a();
// Uncaught exception: TypeError: 'window.document.a' is not a function

Почему так?:-? Ведь второй пример должен работать! Тестил opera & ff

Aetae 08.03.2011 01:18

Не, не должен.
http://javascript.ru/basic/functions

poorking 08.03.2011 01:22

Вы объявляете функцию методом объекта window, а пытаетесь вызвать из document
function a(){ alert(this); }
a();
// Object Window

a.call(window.document);
//document


Возможно вы это имели ввиду

OrmaJever 08.03.2011 01:27

Aetae,
Почему нет? http://javascript.ru/tutorial/object...ord#shpargalka
1 пример указывает на window который у меня работает, а 2 пример как метод, который должен работать. Почему я не прав?

OrmaJever 08.03.2011 01:32

Как же так? А если объекты разные? Например
function a(param) {
this.style.width = param;
}
document.getElementById('id').a(0.5);
document.getElementsByTagName('div')[0].a(0.5);

2 разных обьекта. Так разве нельзя?

Sweet 08.03.2011 01:48

Нет, нельзя! Вам же написали как можно! Или вы невменяемый?
Относительно последнего примера, выглядит так:
function a(param) {
this.style.width = param;
}
a.call(document.getElementById('id'), 0.5);
a.call(document.getElementsByTagName('div')[0], 0.5);


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