Небольшой код с анонимной функцией. Скажите каким образом при выводе сообщения через alert к
Hello добавляется
Mike?
<script>
var myAlert = function(name) {
alert("Hello " + name);
}
function helloMike(myFunc) {
myFunc("Mike");
}
helloMike(myAlert);
</script>
Что здесь происходит?
1) Вначале переменная
myAlert получает результат вызова анонимной функции или она просто получает имя функции, превращаясь с анонимной в именную? То есть эта анонимная функция делается такой в результате после присвоения ее переменной?
function myAlert(name) {
alert("Hello " + name);
}
2) После этой строки кода helloMike(myAlert);
Анонимная функция которая превратилась в именную функцию передается в качестве параметра функции helloMike
и строка
myFunc("Mike");
заменяется после передачи функции в качестве параметра на эту строку
helloMike(myAlert)?
3) Каким образом происходит объединение Hello c Mike?