2014-10-17 5 views
1

Я прочитал о функции javascript hoisitng. Но в данном случае, я не понял, как анонимная функция становится водрузилоJavaScript multiple alert promt

var myObj = { 
    name: 'MyName', 
    dob: 10, 
    office: 'MyOffice', 
    myFun: function(){ 
     alert("Anonymous function"); 
    }, 
    showItem: function(){ 
     alert("Name : " + this.name + " office : " + this.office); 
    } 
}; 

alert(myObj.showItem()); 

Если я запустить код, два предупреждение сообщения подсказок. Один показывает имя, офис и другое неопределенное.

ответ

3

Это потому, что вызываются два предупреждения. Первая функция showItem в вашем var. Второй обертка оповещения о

alert(myObj.shwItem()); 

Try:

myObj.showItem(); 

В этом случае только предупреждение из вашей определенной вар будет называться.

+1

очень глупая ошибка от меня .... :(.... thnx для указания: P :) –

1

Предупреждение с указанием имени и офиса происходит из самой функции showItem, alert(myObj.showItem()); показывает неопределенное, потому что он предупреждает, что возвращается с showItem, что ничего, поэтому не определено.

+0

приятное и ясное объяснение ... спасибо :) –