call과 apply와bind의 차이, 손글씨bind 함수
call,apply,bind의 차이
1. 정의:
call apply는 대상의 방법으로 간주하고 호출 방법의 형식으로 함수를 간접적으로 호출한다.함수가 실행될 때의 상하문 (context) (함수체 내부this의 지향) 을 바꾸기 위해 존재합니다.
bind 방법의 주요 역할은 함수를 특정한 대상에 귀속시키는 것이다. 함수 f()가 bind() 방법을 사용하고 대상 o를 매개 변수로 전송하면 이 방법은 새로운 함수를 되돌려준다.
2. 매개변수:
[call, apply bind 동일점]: 첫 번째 실참: 모두 함수를 호출해야 하는 모대상이고 호출해야 하는 상하문이다.첫 번째 실참 후의 매개 변수: 호출 함수의 값this를 전송하는 값입니다. 첫 번째 매개 변수가null,undefined일 때 기본적으로 window를 가리키고 존재하면this의 값은 첫 번째 매개 변수[call,apply bind 차이점]을 가리킵니다. 첫 번째 실참 후의 매개 변수: apply 실참은 수조에 포함됩니다.
f.call(o,1,2)
f.apply(o, [1, 2]) //apply
손글씨 bind 함수
bind 함수 이해
bind 방법의 주요 역할은 함수를 특정한 대상에 귀속시키는 것이다. 함수 f()가 bind() 방법을 사용하고 대상 o를 매개 변수로 전송하면 이 방법은 새로운 함수를 되돌려준다.
function f(y){return this.x+y} // step1.
var o={x:1} //step2.
var g=f.bind(o)//step3.f o , g
g(2) //3
손글씨 bind 함수
단계:
// step0: Function bind1
Function.prototype.bind1=function(){
// arguments:
console.log(arguments) //[{x: 100},10,20]
// slice() 。
// step1:
const args = Array.prototype.slice.call(arguments)
// step2: this( )
const this_ = args.shift() //shift() , 。
// fn1.bind(...) fn1
const self = this //this fn1
//
return function(){
return self.apply(this_, args)
}
}
const fn3 = fn1.bind1({
x: 100
}, 10, 20)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.