Проблемы вызова функции
Привет, друзья!
Проблема в следующем: Не получается вызвать одну функцию(init()) в теле другой, пишет init is not defined, что, вероятно, указывает на недоступность в связи с областью видимости. Функция init определена в такой области в файле a.js:
(function ($) {
$( pieChart );
function pieChart() {
function init()
}
})(jQuery)
и я хочу вызвать ее в другой функции другого файла(b.js) и в другой области видимости Скажите пожалуйста, можно каким-либо образом вызвать функцию, указав соответствующую область видимости? В общем подскажите, как решить мою проблему. Спасибо! |
Да, понятно, что так некрасиво.
Нашел все таки другой выход - объединил 2 файла) На самом деле думал, что есть метод, с помощью которого можно вызвать функцию из под нужной области видимости Спасибо |
у меня аналогичная проблема, может мне ответит кто?
есть примерно такой код:
function a(){
var rrr = 8;
function aim(arg){
console.log('aim' + arg);
console.log(rrr);
}
};
function b(){
a.aim('this is argument');
};
вызов a.aim('this is argument'); не работает, консоль выводит сообщение Цитата:
|
cyklop_77, консоль все правильно говорит. Вложенная функция не становится свойством функции, внутри которой она определена.
Чтобы ваш код работал надо сделать так:
function a(){
var rrr = 8;
this.aim = function(arg){
console.log('aim' + arg);
console.log(rrr);
}
};
function b(){
new a().aim('this is argument');
};
Или так:
var a = (function(){
var rrr = 8;
return {
aim: function(arg) {
console.log('aim' + arg);
console.log(rrr);
}
}
})();
function b(){
a.aim('this is argument');
};
|
спасибо
|
| Часовой пояс GMT +3, время: 03:41. |