웹 프론트엔드 JS 튜토리얼 자바스크립트 함수선언과 함수표현_javascript 스킬의 차이점 소개

자바스크립트 함수선언과 함수표현_javascript 스킬의 차이점 소개

May 16, 2016 pm 05:20 PM
함수 선언

여전히 동일합니다.

코드 복사 코드는 다음과 같습니다.

<script> <BR>var f = function g() { <BR>return 1; <BR>} <BR>if (false) { <BR>f = function g(){ <BR>return 2 ; <BR>}; <BR>alert(g()); // 2 <BR></script>

이 코드를 IE 6에 넣으면 Chrome과 완전히 다른 두 가지 효과.

여기 출력 2는 ie6에서의 효과입니다. Chrome에서는 g가 정의되지 않은 것으로 나타납니다.

이는 JScript 버그로 간주될 수 있습니다.

여기에 있는 것은 g를 정의하는 함수 표현식일 뿐이라는 것이 분명합니다. if 조건문에 포함되어 함수 표현식만 정의하고 함수는 선언하지 않습니다.

그렇다면 그런 직접 접근은 확실히 잘못된 것입니다.

그럼 문장은 무엇이고 함수표현식은 무엇인가요?

ECMAScript에서 함수를 생성하는 가장 일반적인 두 가지 방법은 함수 표현식과 함수 선언입니다. ECMA 사양에서는 한 가지 점만 명확하게 하기 때문에 둘 사이의 차이점은 약간 혼란스럽습니다. 함수 선언은 ( 식별자) ​​(사람들이 흔히 함수 이름이라고 부르는 것), 함수 표현식에서는 이 식별자를 생략할 수 있습니다:
함수 선언:
 함수 함수 이름(매개변수: 선택 사항) {함수 본문}
함수 표현식:
함수 함수명 (선택사항) (매개변수: 선택사항) {함수 본문}

그래서 함수명이 선언되지 않으면 표현식이어야 한다고 볼 수 있지만, 만약 함수 이름이 선언되었습니다. 함수 선언인지 함수 표현식인지 어떻게 확인하나요? ECMAScript는 문맥에 따라 구별됩니다. function foo(){}가 할당 표현식의 일부인 경우 이는 함수 표현식입니다. function foo(){}가 함수 본문 내에 포함되거나 프로그램 맨 위에 있는 경우입니다. 함수 선언.

덜 일반적인 함수 표현식도 있는데, 이는 괄호로 묶인 것(function foo(){})입니다. 괄호()가 그룹화 연산자이기 때문입니다. 내부에는 표현식만 포함될 수 있습니다.

JSON을 실행하기 위해 eval을 사용할 때 JSON 문자열은 일반적으로 eval('(' json ')')으로 묶여 있다고 생각할 수 있습니다. 이 괄호 쌍은 파서가 JSON 중괄호를 코드 블록 대신 표현식으로 구문 분석하도록 합니다.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C++ 함수 선언의 기본 매개변수: 선언 및 사용법에 대한 포괄적인 분석 C++ 함수 선언의 기본 매개변수: 선언 및 사용법에 대한 포괄적인 분석 May 02, 2024 pm 03:09 PM

C++의 기본 매개변수는 함수 매개변수의 기본값을 지정하는 기능을 제공하여 코드 가독성, 단순성 및 유연성을 향상시킵니다. 기본 매개변수 선언: 함수 선언에서 매개변수 뒤에 "=" 기호를 추가하고 그 뒤에 기본값을 추가합니다. 사용법: 함수 호출 시 선택적 매개변수가 제공되지 않으면 기본값이 사용됩니다. 실제 사례: 두 숫자의 합을 계산하는 함수입니다. 한 매개변수는 필수이고 다른 매개변수는 선택사항이며 기본값은 0입니다. 장점: 향상된 가독성, 향상된 유연성, 상용구 코드 감소. 참고: 선언에서만 지정할 수 있고 끝에 있어야 하며 유형이 호환되어야 합니다.

C++ 함수의 선언 및 정의 순서는 어떤 영향을 줍니까? C++ 함수의 선언 및 정의 순서는 어떤 영향을 줍니까? Apr 19, 2024 pm 01:42 PM

C++에서 함수 선언 및 정의의 순서는 컴파일 및 연결 프로세스에 영향을 미칩니다. 가장 일반적인 방법은 선언을 먼저 하고 정의를 나중에 하는 것입니다. 둘 다 동시에 존재하는 경우 "forwarddeclaration"을 사용하여 정의를 배치할 수도 있습니다. 컴파일러는 선언을 무시하고 정의만 사용합니다.

C++ 함수 선언과 정의의 차이점은 무엇입니까? C++ 함수 선언과 정의의 차이점은 무엇입니까? Apr 18, 2024 pm 04:03 PM

함수 선언은 컴파일러에게 함수의 존재를 알리고 유형 검사에 사용되는 구현을 포함하지 않습니다. 함수 정의는 함수 본문을 포함하여 실제 구현을 제공합니다. 주요 구별 기능에는 목적, 위치, 역할이 포함됩니다. 효율적이고 유지 관리가 가능한 C++ 코드를 작성하려면 차이점을 이해하는 것이 중요합니다.

C++ 함수 선언 및 정의 C++ 함수 선언 및 정의 Apr 11, 2024 pm 01:27 PM

C++에서는 함수 선언과 정의가 필요합니다. 함수 선언은 함수의 반환 유형, 이름 및 매개변수를 지정하는 반면, 함수 정의는 함수 본문과 구현을 포함합니다. 먼저 함수를 선언한 다음 필요한 매개변수를 전달하여 프로그램에서 함수를 사용하십시오. return 문을 사용하여 함수에서 값을 반환합니다.

C++ 함수 선언의 [[nodiscard]]: 반환 값 무시의 결과 이해하기 C++ 함수 선언의 [[nodiscard]]: 반환 값 무시의 결과 이해하기 May 01, 2024 pm 06:18 PM

[[nodiscard]] 속성은 함수의 반환 값을 무시해서는 안 된다는 것을 나타냅니다. 그렇지 않으면 초기화되지 않은 예외, 메모리 누수, 잘못된 계산 결과 등의 결과를 방지하기 위해 컴파일러 경고나 오류가 발생합니다.

C++ 컴파일 오류: 함수 호출이 함수 선언과 일치하지 않습니다. 어떻게 해결합니까? C++ 컴파일 오류: 함수 호출이 함수 선언과 일치하지 않습니다. 어떻게 해결합니까? Aug 22, 2023 pm 12:39 PM

C++ 컴파일 오류: 함수 호출이 함수 선언과 일치하지 않습니다. 어떻게 해결합니까? C++ 프로그램을 개발할 때 필연적으로 컴파일 오류가 발생합니다. 일반적인 오류 중 하나는 함수 호출이 함수 선언과 일치하지 않는다는 것입니다. 이러한 종류의 오류는 C++ 프로그래머들 사이에 널리 존재합니다. 함수 선언의 정확성에 주의를 기울이지 않기 때문에 컴파일 문제로 이어지며, 이는 결국 문제를 해결하는 데 시간과 에너지를 낭비하고 개발 효율성에 영향을 미칩니다. 이 실수를 피하는 방법은 몇 가지 규범과 표준 관행을 따라야 합니다. 아래에서 살펴보겠습니다. 함수 호출과 함수 선언이란 무엇입니까?

C++ 함수 선언의 세부 구문: 구문 분석부터 표준 사용법 분석까지 C++ 함수 선언의 세부 구문: 구문 분석부터 표준 사용법 분석까지 Apr 30, 2024 pm 02:54 PM

C++ 함수 선언 구문은 returnTypefunctionName(parameterType1parameterName1,...,parameterTypeNparameterNameN);입니다. 여기서 returnType은 반환 유형이고, functionName은 함수 이름이고, 매개변수 유형은 매개변수 유형이고, 매개변수 이름은 매개변수 이름입니다. 세미콜론.

C++ 함수 선언에 대한 단계별 가이드: 모든 단계를 다루는 자세한 지침 C++ 함수 선언에 대한 단계별 가이드: 모든 단계를 다루는 자세한 지침 May 02, 2024 pm 04:33 PM

함수 선언은 함수 본문을 제공하지 않고 함수가 존재함을 컴파일러에 알려줍니다. 단계는 다음과 같습니다: 함수 반환 유형 지정(반환 값이 없는 경우 무효) 함수 이름 정의 및 함수 매개변수 선언(선택 사항, 데이터 유형 및 식별자 포함) ​​세미콜론

See all articles