JavaScript 함수 의 정의-호출,주의사항
함수 문 정의
function(a,b){
return a+b;
}
표현 식 정의
var add = function(a,b){return a+b};
//함수 표현 식 은 이름 을 포함 할 수 있 습 니 다.재 귀 할 때 var f=function fact(x){if(x<=1){return 1;}else { return x*faxt(x-1); } }표현 식 으로 정 의 된 함수,함수 의 이름 은 선택 할 수 있 습 니 다.함수 정의 표현 식 에 이름 이 포함 되 어 있 으 면 함수 의 부분 작용 도 메 인 은 함수 대상 에 연 결 된 이름 을 포함 합 니 다.실제로 함수 의 이름 은 함수 내부 의 부분 변수 가 됩 니 다.
함수 명명 규범
1.like_this()첫 번 째 문 자 는 소문 자로 여러 단 어 를 포함 할 때 단어 아래 에 선 을 그 어 분할 합 니 다.
2.likeThis()첫 번 째 문 자 는 소문 자로 여러 단 어 를 포함 할 때 첫 번 째 단 어 를 제외 한 단어의 이니셜 은 대학 자 모 를 사용한다.
3.내부 함수 나 개인 함 수 는 보통 밑줄 을 접두사 로 한다.
주:함수 성명 문'은 외부 스 크 립 트 나 외부 함수 가 상단 에 미리 작 동 하기 때문에 정의 하기 전에 나타 난 코드 에 호출 될 수 있 습 니 다.
표현 식 으로 함 수 를 정의 하기 전에 변 수 를 할당 해 야 합 니 다.그래서 표현 식 방식 으로 정 의 된 함 수 는 정의 되 기 전에 호출 할 수 없습니다.
함수 반환 값
내장 함수
add(1,2)
ECMAScript 3 와 엄격 하지 않 은 ECMAScript 5 의 함수 호출 규정 에 따라 상하 문(this 의 값)을 호출 하 는 것 은 전역 대상 이다.그러나 엄격 한 모드 에서 컨 텍스트 를 호출 하 는 것 은 undefined 입 니 다.//함 수 를 정의 하고 함 수 를 호출 하여 현재 스 크 립 트 가 엄격 한 모드 로 실행 되 고 있 는 지 확인 합 니 다.
var strict = (function(){return this;}());
방법 으로 호출 하 다
var o = {
m:1,
n:2,
add:function(){
this.result = this.m+this.n;
}
}
방법 호출 과 함수 호출 의 중대 한 차이 점문맥 을 호출 하 다.o.add()add 의 호출 컨 텍스트 는 o,즉:this 입 니 다.
o.add()는 o[add]()와 같다.
방법 체인:방법 이 값 을 되 돌려 줄 필요 가 없 을 때 this 를 직접 되 돌려 주 는 것 이 좋 습 니 다.
this 는 키워드 입 니 다.변수 도 속성 명도 아 닙 니 다.JavaScript 문법 은 this 에 값 을 부여 할 수 없습니다.
변수 와 달리 키워드 this 는 제한 이 없습니다.포 함 된 함 수 는 호출 함수 에서 this 를 계승 하지 않 습 니 다.외부 함수 의 this,var self=this 에 접근 하려 면;변수 에 저장
함수 가 함수 로 호출 되면 this 의 값 은 호출 대상 을 가리 키 고 있 습 니 다.함수 로 호출 되면 this 는 전역 대상(비 엄격 모드)이 아니 라 undefined(엄격 모드)입 니 다.
구조 함수 호출
var o = new Object();
구조 함수 호출 과 일반 함수 호출 및 방법 호출 은 실제 인삼 처리 에 있 습 니 다.호출 상하 문과 반환 값 등 은 모두 다르다.형 삼 이 없 는 구조 함수 호출 은 모두 괄호 를 생략 할 수 있다.
var o = new Object();
var o = new Object;
//
구조 함수 호출 은 새로운 빈 대상 을 만 듭 니 다.이 대상 은 자체 구조 함수 의 prototype 속성 을 계승 합 니 다.이 함 수 는 새로 만 든 대상 을 초기 화 하려 고 합 니 다.병 은 이 대상 을 문맥 로 하기 때문에 구조 함 수 는 this 키 워드 를 사용 하여 새로 만 든 대상 을 참조 할 수 있 습 니 다.new o.m()호출 된 컨 텍스트 는 o 가 아 닙 니 다.
구조 함 수 는 return 을 사용 하지 않 습 니 다.구조 함수 가 표시 하 는 return 문 구 를 사용 하여 대상 을 되 돌려 준다 면 표현 식 의 값 을 호출 하 는 것 이 이 대상 입 니 다.구조 함수 가 되 돌아 오지 않 거나 원본 값 을 되 돌려 주지 않 으 면 되 돌아 오 는 값 을 무시 하고 새로운 대상 을 되 돌려 주 는 결과 로 사용 합 니 다.
간접 호출
call()
appy()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.