var text = 'one';
function test () {
console.log(this.text);
}
var a = {
text: 'two',
log() {
a.test = test;
var b = {
text: 'three',
log() {
a.test();
}
};
b.log();
}
};
a.log();
Добрый день. Я бы хотел точнее и лучше понять, почему будет именно такой ответ и прав ли я.
В общем,
В a.test мы передали функцию нашу test. Теперь для функции тест зис текст будет два. И как мне кажется, не важно что мы вызвали ее в объекте b. Все равно ее контекст зиса будет объект a => two. Если бы мы уже в объекте b -> методе log сделали бы типо b.kek = a.test; b.kek(), то скорее всего уже было бы три.
Но я все равно сомневаюсь в этом, у нас же объекты не могут просто как примитивы переприсвоиться (a.test = test), а ссылку всего - то на функцию кидают, ведь функци это объект, нет? То есть, зис даже в случае ссылки будет иметь в виду контекст объекта a? Но я все же больше склоняюсь к ответу два.
Я бы хотел послушать как верно в данном случае рассуждать