타성 함수와 콜리화 함수
getXHR: (function () {
var item = [
function () {
return new XMLHttpRequest()
},
function () {
return new ActiveXObject('Microsoft.XMLHTTP');
},
function () {
return new ActiveXObject('MsXML2.XMLHTTP');
}, function () {
return new ActiveXObject('MsXML3.XMLHTTP');
}
]
for (var i = 0; i < item.length; i++) {
try {
return item[i]
} catch (err) {
continue
}
}
throw new Error('not support')
})(),
상술한 코드는 처음 실행할 때만 훑어보았고, 가장 적합한 것을 찾으면 되돌아왔으며, 나중에 다시 사용하면 훑어볼 필요가 없다.
무엇이 코리화 함수입니까?코리화 함수는 사실 일종의 작법이다.
function(){
return function(){}
}
이런 작법의 함수는 바로 콜리화 함수인데, 그렇다면 이런 작법은 어떤 장점이 있습니까?일부 문제를 해결할 때 이 중에서 쓰는 방법은 매우 좋다. 특히 일부 함수가 매개 변수를 전달하기 어려운 문제는 JS의 사건에서 하나의 매개 변수는 브라우저가 가지고 있는 것이다. 그것이 바로 사건 e이다. 그러나 때때로 우리는 귀속 사건 대상의this를 바꾸고 싶지만 e가 없어서는 안 된다. 그러면 코리화 함수는 사용된다.
bind: function (fn,context) {
if (Function.prototype.bind) {
return fn.bind(context);
}
return function(){
fn.apply(context,arguments)
}
}
이렇게 쓰면 나는 몇 개의 매개 변수를 전달하고 싶다. 사실 중요한 것은 어떻게 쓰느냐가 아니라 사상이다.일부 동적 으로 함수 를 만드는 방법 에서 코리화 함수 도 자주 사용되고, 일부 큰 틀 에서도 이런 작법 을 자주 사용한다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 앱의 성능 개선②(RecyclerView.Adapter)이 기사에서는 Android 앱의 성능을 향상시키는 방법에 대해 설명합니다. 개선 대상 목록 등을 보려면 RecyclerView를 사용할 수 있다고 생각합니다. RecyclerView는 매우 유용한 클래스이지만 성능...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.