>  기사  >  웹 프론트엔드  >  javascript 함수 object_js 객체지향에 대한 혼란스러운 분석

javascript 함수 object_js 객체지향에 대한 혼란스러운 분석

WBOY
WBOY원래의
2016-05-16 18:00:19945검색

js의 함수 객체는 매력적이지만 너무 유연하기 때문에 종종 혼란스러울 수 있습니다. 아래에 몇 가지 코드를 게시하겠습니다.

대부분의 사람들은 이를 다음과 같이 축약합니다.

코드 복사 코드는 다음과 같습니다.
function test() {}


책 전체 "JSVAScript Language Essence" 이렇게 작성하세요:
코드 복사 코드는 다음과 같습니다.
var test = function ( ) {}


함수를 즉시 실행하고 할당할 수 있습니다.
코드 복사 코드

var test = function () {} () // test === 정의되지 않음
var test2 = function () {return 'sugar cake'}() // test2 === 'sugar cake'

그러나 함수 약어는 직접 실행할 수 없습니다. 다음 코드는 오류를 보고합니다.
복사 코드 코드는 다음과 같습니다.
function test() {}() // SyntaxError: 구문 오류


"()" 연산자는 정상입니다.
코드 복사 코드는 다음과 같습니다.
( function test () {})();


사실 함수 이름 test 는 의미가 없으므로 제거하면 익명 함수가 되어 함수 본문의 코드를 자동으로 실행할 수 있습니다. . 일반적으로 사용되는 익명 함수 작성 방법:
코드 복사 코드는 다음과 같습니다.
(function () {} )();


익명 함수는 다음과 같이 작성할 수도 있으며, 이것이 더 "아름답습니다":
코드 복사 코드는 다음과 같습니다.
(function () {}());


이것 보세요, 처음이에요 브라더 JS 미쳤나요? 내 프로젝트에서 C 언어를 작업하던 한 사람이 익명 함수를 본 후 즉시 겁에 질린 것을 본 적이 있습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.