2016-10-29 3 views
0

내가 개발자는 종종이 방법으로 새로운 함수를 만드는 오픈 소스 JS 코드를 다운로드 한 : 그래서이 두 함수와 다른 점은 무엇입니까?

var log = msg => div.innerHTML += "<br>" + msg; 

를 아래이와 차이가있다?

function log(msg){ 
    div.innerHTML += "<br>" + msg; 
} 
+1

화살표 함수와'function foo() {}'함수에는 약간의 차이가 있습니다. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions를 참조하십시오. –

+1

이 게시물 확인 http://stackoverflow.com/questions/22939130/when-should-i-use-arrow- functions-in-ecmascript-6 –

답변

0

화살표 기능과 function foo() {} 기능에는 약간의 차이가 있습니다. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions을 참조하십시오.

난 내 머리 위로 떨어져 생각할 수있는 몇

:

  • function foo() {} 기능 정의 당신은 그것의 정의를 포함하는 범위의 아무 곳이나 같은 함수를 호출 할 수 있습니다 의미, 게양된다. 이 단지 선언
  • 화살표 기능을 간단한 단어에서 그들은 자신의 this 변수를 도입하지 않는 것을 의미, 어휘 this을 결합 게양되어있는 기능을 포함하는 변수의 경우에는 해당되지 않습니다. 대신, 그들은 단순히 가까운 둘러싸고있는 범위에서 가장 가까운 this 변수를 통해
  • 화살표의 기능은 신체 내에서 당신이 동일하게 행동해야 보여 주었다

말했다 모든, 두 기능을 사용하기 위해 arguments local variable 사용할 수없는 대부분의 경우 위에서 언급 한주의 사항을 고려할 때.

관련 문제