2015-01-13 1 views
0

내가 쉽게 답을 찾을 수 couldnt한다의 차이는, 그래서이 질문은 속는 경우에도, 답변 이러한 키워드를 사용하여 올 그나마 자바 스크립트.는 함수 선언 및 범위

내가 에게 샘플 기능을을 선언하는 다른 방법의 차이를 알고 싶어하는 것은

var foo = function() 
{ 
    //.. 
} 

function bar() 
{ 
    //.. 
} 

var baz= function() 
{ 
    //.. 
} 

function qux() 
{ 
    //.. 
} 

// other?? 

나는 또한 내가 각 기능을 사용할 수있는 범위에 대해 명확하지 해요 app.js. 감사!

+3

아직 "관련"질문에서 상위 두 개의 링크는 정확하게 당신이 필요가 ... – Alnitak

답변

3

자바 스크립트에서 함수를 만들 수있는 네 가지 방법이 있습니다.

함수 선언

이 전류 범위의 변수 foo을 만들고 그것에라는 기능을 할당한다.

function foo() { 

} 

함수 선언은 적용 범위에서 어디에 두어도 상관 없습니다. 그것은 그들을 사용하기 전에 그들을 정의하는 좋은 코딩 연습으로 간주됩니다.

이것은 이름이없는 함수를 만들고 표현식에서 사용

익명 함수 표현식. 이 예에서는 변수 something에 할당됩니다.

something = function() { 

}; 

명명 된 기능

이 그것을 이름을 가지고 것을 제외하고는 익명 함수 표현식과 동일

는 자체의 범위에서 그 이름의 변수를 생성하고 인터넷 익스플로러의 이전 버전에서 horribly broken입니다 표현 .

something = function foo() { 

}; 

기능 생성자는

기능 생성자를 사용하지 마십시오. 그들은 다른 이름으로 eval입니다. 관심이 있으시면 MDN에서 그들에 관해 읽을 수 있습니다.