JavaScript 고급 프로그래밍 5.5-6
1.function은 대상, 창설도 대상 인용
세 가지 작성 방법 중 마지막으로 M1을 추천하지 않습니다.
function func(){
alert(" ");
}
M2:
var func=function(){
alert(" ");
}
M3:
var func=function(" 1"," 2"," n","alert(" , ")");
2. 코드가 실행되기 전에 해석기는 코드가 향상되는 과정을 거쳐 함수 성명을 생성하여 함수가 정상적으로 사용될 수 있도록 한 다음에 성명 함수를 맨 위에 올리고 실행한다
함수 호출은 함수가 생성되기 전에 오류가 발생하지 않습니다.
var Vsum=sum(10);
alert(Vsum);
function sum(maxV){
"use strict"
for(var i=0;i
또 다른 상황은 실수를 할 수 있다.
var Vsum=sum(10);
alert(Vsum);
var sum=function(maxV){
"use strict"
for(var i=0;i
오류가 발생한 원인은 함수 생성이 맨 위에 있기 때문이지만, 함수의 성명은 그렇지 않기 때문이다
3. 함수 내부에argument와this 두 개의 특수 대상을 가지고 있다
argument는 함수를 가진 매개 변수를 저장하는 매개 변수입니다. argument는 속성callee를 가지고 있으며, argument 대상을 가진 함수를 가리키는 바늘입니다.
이 방법은 결합을 풀기 위해 고전적인 예에 귀속되어 계승을 실현할 수 있다
alert(factorial(10));
function factorial(Vmax){ //Vmax>0
if(Vmax<=1)return 1;
else{
return Vmax*factorial(Vmax-1);
}
}
arguments 절의 결합을 이용하다
alert(factorial(10));
funciton factorial(Vmax){
if(Vmax<=1)return 1;
else{
return Vmax*arguments.callee(Vmax-1);
}
}
하지만 엄격한 모드에서 사용하면 오류가 발생합니다.
4.this 대상이 자바와 c#와 유사한this는 현재 역할 영역을 가리키며 다른 역할 영역이 없을 때 윈도우 예를 가리킨다.
5. ECMAScript5는 함수 대상의 또 다른 속성caller를 정의합니다. 현재 함수를 인용하는 함수의 인용을 저장하고 있으며, 윈도우라면null 실례입니다.
이외에도 ECMAScript는 모든 함수 대상에 대해 length와prototype 속성 방법을 정의했습니다.length는 모든 함수 대상이 몇 개의 매개 변수를 받아들일 수 있기를 희망한다는 것을 나타낸다. 프로토타입은 함수에 있는 모든 실례를 저장하고 있다. 실제로 toString과 ValueOf는 프로토타입 이름으로 저장되고 각자의 실례 대상을 통해 호출될 뿐이다
모든 함수는 계승되지 않은 방법을 포함하고 있습니다 apply와call 방법
apply와call 방법은 두 개의 매개 변수를 받아들입니다. 첫 번째 매개 변수는 모두 작용역this 두 번째 매개 변수 apply는 수조 매개 변수나arguments(현재 함수를 저장하는 매개 변수)call을 수신할 수 있습니다. 순서대로 배열된 매개 변수만 수신할 수 있습니다.
주의해야 할 것은 apply와call은 전달 함수가 아닌 확충 함수의 작용역으로 가장 많이 사용된다는 것이다.
window.color="red";//
var o_bule={
color:"bule"
}
function toStringColor(){
console.log(this.color);
}
toStringColor.call(this);//red
toStringColor.call(o_bule);//bule
toStringColor().call(window); //red
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.