>  기사  >  웹 프론트엔드  >  javascript_javascript 기술 아래의 함수 선언에 대한 일부 요약

javascript_javascript 기술 아래의 함수 선언에 대한 일부 요약

WBOY
WBOY원래의
2016-05-16 19:06:56943검색

function test(){
return 123;
}


분명히 이것은 함수 선언입니다. 다음은 어떻습니까?
var b=function(){return 123}; 🎜>

모두가 이것을 의심합니다. 함수에 이름이 없고 그냥 익명 함수이므로 선언이 아닌 것 같습니다.
var b=function test. (){return 123};


그렇다면 "아니오"라고 대답하겠습니다.
alert(test)
var b=function test; (){return 123};


IE 이외의 모든 js 구현에서 테스트할 수 있으며, 이 경우 정의되지 않은 테스트 오류가 보고됩니다.
var b=function test(){return 123};
alert( b);
alert(test)


는 test(){...}의 toString 결과를 표시합니다. 두 번째 경고는 여전히 비정상입니다. 즉, 여기서 function test(){return 123}은 명령문이 아니라 함수 개체입니다. 따라서 함수 개체는 b에 바인딩됩니다. 선언과 같이 기본적으로 테스트 이름을 지정합니다.
alert(test)
var b=function test(){return 123}; 🎜>
ie는 함수를 표시합니다. 즉 바보이므로 별도의 함수 문과 = 오른쪽의 함수 개체를 구분합니다. 또한 IE는 function String.prototype.test와 같은 문도 지원합니다. (){...}. IE의 js에는 버그가 많다는 것을 알 수 있습니다. Wilson이 es4를 지원하려면 실제로 버그가 수정된 버전인 es3.1을 만들어야 합니다.

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