Javascript имеет лексическую область видимости, поэтому переменные (например, navRef
) могут использоваться внутри внутренних функций
var navRef = this.navigator;
function onSearch(){
navRef.onShow();
}
переменная this
, однако, является злым исключением . Каждая функция получает свой собственный this
(и значение, которое она имеет , зависит от того, как функция была вызвана ), поэтому, если вы хотите получить доступ к внешнему this
(или одному из его свойств), вам нужно использовать промежуточная переменная:
var that = this;
function onSearch(){
that.navigator.onSearch();
}