Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   тест (https://javascript.ru/forum/offtopic/1927-test.html)

Snipe 09.10.2008 18:07

Извиняюсь, можно несколько примеров FD и несколько примеров FE?

Поигрался с кодом, в каждом браузере свое:
if (true) {
    function a() {alert(11);};
    var b = function() {alert(12);};
} else {
    function a() {alert(21);};
    var b = function() {alert(22);};
}
a(); //FF3 - 11, 12; IE7, SA, OP - 21, 12
b();


a(); //FF3 - a()=undefined; IE7, OP, SA - 21
b();
if (true) {
    function a() {alert(11);};
    var b = function() {alert(12);};
} else {
    function a() {alert(21);};
    var b = function() {alert(22);};
}


Правильно ли я понимаю, что function a() {alert(11);} - это FD? Если да, то может ли быть переназначено другим объявлением function a() {alert(21);}?

Zeroglif 09.10.2008 18:51

Цитата:

Сообщение от Snipe
Поигрался с кодом, в каждом браузере свое

Cо значением переменной всё понятно, разница связана с тем, как браузеры конкретизируют/"поднимают" объявленные функции (FD), чтоб не повторяться...

magistr_bender 21.10.2008 20:40

если честно я так и непонял разницы между
function name() {} и var name = funciton() {}

можно в кратце написать простыми словами

Octane 21.10.2008 21:14

Вкраце простым кодом :-)
alert(F1);
var F1 = function() {};

alert(F2); 
function F2() {}

Попробуйте выполнить и поймёте в чём разница.

HelpeR 25.10.2008 19:28

я попробовал и увидел разницу, только одно ни как не пойму, как при алерте f2 результат может существовать. Видать придется перечитать всю тему еще раз )


Часовой пояс GMT +3, время: 17:20.