foo=func vs window['bar']=func
От: rFLY  
Дата: 12.04.18 11:04
Оценка:
Кто пояснит в чем разница между двумя этими функциями?
function foo () {
    console.log('foo 1:', foo === window['foo']);
    foo = function () {
        console.log('foo 2:', foo === window['foo']);
        console.trace();
    }
}
function bar () {
    console.log('bar 1:', bar === window['bar']);
    window['bar'] = function () {
        console.log('bar 2:', bar === window['bar']);
        console.trace();
    }
}


При первом запуске:

foo()
console.log > foo 1: true

bar()
console.log > bar 1: true


При повторном:

foo()
console.log > foo 2: true
console.trace > foo

bar()
console.log > bar 2: true
console.trace > window.bar

Почему так (выделенно) если обе глобальные и обе добавляются свойствами к window?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.