2013-12-18 6 views
0

У меня есть 2 объекта в файле JavaScript index.js.Как вызвать функцию другого объекта в JavaScript?

var obj1 = { 
    function1: function() { 
     // do something 
     obj2.function2(); 
    } 
}; 

var obj2 = { 
    function2: function() { 
     // do something 
    } 
}; 

Я вызываю функцию1() из html-файла, например.

<script type="text/javascript" src="js/index.js"></script> 
<script type="text/javascript"> 
    obj1.function1(); 
</script> 

Проблема в том, что функция2 на obj2 не вызвана.
Почему функция2 не получает вызов?
Контентная поддержка в eclipse вообще не отображает функцию, когда я выполняю obj2. (Ctrl space). Неправильный синтаксис?

+2

Ну ... Как вы это называете? – gdoron

+0

Показать вызов функции. – leaf

+0

Да, просто удалил. Казалось похоже, но не было – Liam

ответ

0

Это не называется, потому что function1 не вызывается.

Добавить obj1.function1() в конец кода, и он работает.

Вы также должны добавить код, чтобы обеспечить видимый эффект function2, чтобы вы могли узнать, когда он вызывается.

demo

0

Если вы звоните obj1.function(); перед объявлением obj2, он должен выдать ошибку, поскольку вы не можете вызвать форму метода с неопределенным объектом. Я не вижу никакой другой причины, почему это не будет работать ...

-1

вы можете сделать с тем же кодом, но просто позвоните function1 после объявления

var obj1 = { 
    function1: function() { 
     // do something 
     obj2.function2(); 
    } 
}; 

var obj2 = { 
    function2: function() { 
     // do something 
     alert("obj2"); 
    } 
}; 

obj1.function1(); 

Вы можете проверить это в http://jsfiddle.net/vVKKZ/

потому что, когда вы вызываете функцию1 в то время, когда obj1 не был объявлен, поэтому он не определен в это время.

+0

Код, который я показал, находится в файле JavaScript. Я вызываю function1() из html-файла. Я добавил html-код к вопросу выше. Пожалуйста, смотрите. – Ajay

+0

просто попробуйте вызвать функцию1 с конца тега тела. –

+0

скрипт index.js, добавляющий в главный тег и вызывающий скрипт внизу тела. –

Смежные вопросы