>  기사  >  웹 프론트엔드  >  JavaScript 함수 정의에 대한 일반적인 고려 사항 요약_javascript 팁

JavaScript 함수 정의에 대한 일반적인 고려 사항 요약_javascript 팁

WBOY
WBOY원래의
2016-05-16 16:36:221201검색

이 문서에는 JavaScript 함수 정의와 관련된 일반적인 문제가 요약되어 있습니다. 초보자가 흔히 범하는 실수가 포함되어 있습니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 내용을 요약하면 다음과 같습니다.

1. 함수가 선언되면 JS 엔진도 함수 이름과 동일한 이름으로 변수를 정의합니다. 이 함수를 호출하면 실제로 이 변수를 사용하고 있으며 함수가 선언되기 전에 호출할 수 있습니다. ,

foo(); //这里实际上是使用了一函数变量 
function foo() { 
  alert('hello'); 
} 

2. 함수 표현식 이때 익명 함수는

과 같이 정의한 후 사용해야 합니다.
foo(); //报错,未定义 
var foo = function() { 
  alert('hello'); 
} 

3. 함수 표현(함수 이름 포함), 현재 함수 이름은

과 같은 IE가 아닌 브라우저에서만 사용할 수 있습니다.
bar(5); //报错,未定义 
var bar = function foo(n) { 
  if (n == 1) 
    return 1; 
  else 
    return n * foo(n - 1); 
} 
foo(5); //非IE报错,未定义 
bar(5); //正确 

4. 함수 생성자를 사용하여 정의합니다. 이 방법은 함수가 실행될 때마다 함수 본문이 구문 분석됩니다. 또한, 이런 방식으로 선언된 함수는 현재 선언 위치의 범위를 상속하지 않습니다.

과 같이 기본적으로 전역 범위만 갖습니다.
function foo() { 
  var bar = 'hello'; 
  return Function('alert(bar)'); //报错,全局变量bar未定义 
} 
foo()();

저는 이 글에 설명된 내용이 모든 사람의 자바스크립트 WEB 프로그래밍 학습에 확실한 참고 가치가 있다고 믿습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.