Проблема с видимостью функций в переданном объекте
Доброго времени суток!
Неожиданно столкнулся с проблемой которую пока никак не удалось преодолеть. Суть Есть Объект_1 и Объект_2, первый передается второму как параметр при создании. Объекты создаются через new, затем происходит вызов внутренней функции Объект_2, которая внутри себя вызывает функцию Объект_1, вот ее то исп. среда и не видит. Перепробовал все известные мне варианты, игрался с this, call, bind ничего не помогает, исп. среда упорно говорит что ф-я ей не известна, код ниже. Пишу под IoT систему Espruino.
function class_1()
{
this.A_1;
this.B_1;
}
class_1.prototype.func_class_1 = function()
{
/*
здесь идет работа с this.A_1, this.B_1
*/
}
function class_2 (_obj /*object of type class_1*/)
{
this.A_2;
this.B_2;
this.Obj_2 = _obj;
}
class_2.prototype.func_class_2 = function()
{
//вот здесь и происходит проблема с вызовом "func_class_1()"
this.Obj_2.func_class_1();
}
var o1 = new class_1();
var o2 = new class_2(o1);
o2.func_class_2(); //сообщение исп. среды>>> Uncaught Error: Field or method "func_class_1()" does not already exist, and can't create it on undefined
код не из примера, фрагмент большой, но он точно передает ситуацию. Всем заранее большое спасибо ! |
По-моему никаких проблем :)
https://jsfiddle.net/r9cbx9fj/ |
Вот и по моему не должно быть никаких проблем, значит проблема
с прошивкой которую адаптирует Амперка (( |
Konkery,
Или вот в этом участке кода: Цитата:
|
| Часовой пояс GMT +3, время: 11:56. |