2015-01-27 4 views
0

우리 회사의 사람들이 변수에 할당 할 때 함수에 이름을 붙이는 것을 보았습니다. 이름을 지정하지 않고 정확히 똑같이 작동하면 어떤 이점이 있습니까?Javascript : 객체에 변수를 지정할 때 함수의 이름 지정의 이점은 무엇입니까?

+1

http://kangax.github.io/nfe/ – pawel

+0

http://blog.niftysnippets.org/2010/03/anonymouses-anonymous.html – Bergi

+1

http://stackoverflow.com/q/19303923/218196 –

답변

4

는 스택 추적에 나타납니다.

그러나 많은 현대 자바 스크립트 엔진은 함수가 두 번째 예제에서와 같이 할당 식에서 익명으로 선언 된 경우에도 스택 추적에 유용한 이름을 파생시킬 수 있습니다.

3

내가 생각할 수있는 한 가지는 (재귀) 재귀에서 함수를 호출해야 할 수도 있다는 것입니다.

예를 들어, 당신은이 작업을 수행 할 수 있습니다 ("익명 함수"로 나타나 반대) 디버깅 할 때 함수의 이름을 보장하기 위해

function TargetingForm() { 
    'use strict'; 

    this.setPristine = function setPristine() { 
    // You can do this 
    if (someConditionIsTrue) { 
     setPristine(); 
    } 
    } 

    //vs 

    this.setPristine = function() { 
    // You can't do the same here! 
    } 
} 
+2

음, 간단히 this.setPristine()을 호출 할 수 있습니다. 사실, 당신이 그렇지 않으면 당신은'this' 문맥을 잃어 버리고 있습니다. – Bergi

관련 문제