Ich sehe viele Leute, die die Aufruffunktion verwenden, wenn sie andere Funktionen aufrufen. Ich denke, das sieht einfach aus und ist für einen Anfänger wie mich schwer zu verstehen.
Das folgende Beispiel soll zeigen, dass die von fn und result zurückgegebenen Ergebnisse gleich sind, d zusätzlich zum Binden von Objekten verwendet? Bitte verzeihen Sie, wenn die Beschreibung des Problems möglicherweise nicht klar ist.
1.
function func(fn,str1){
return result = function (str2){
return fn.call(this,str1,str2)
}
//这种方式我自己可以明白 fn获得他的父级函数fnc返回的str1+str2字符串,自己再返回出来
2.function func(fn,str1){
return result = function (str2){
return str1+str2
}
fn(func(null,str1,str2))
}
MDN - Function.prototype.call()
其实很想说,像this,call,apply,bind,new,都是js的基石,是每一个希望成为前端工程师必须要掌握的,同时这些东西也是js里比较烧脑的,比较难掌握好的,需要多翻两本书,多写些demo。估计要讲清楚这些,我能写一篇老长老长的文章,如果有耐心看完的话,建议还不如翻书。