Saya melihat ramai orang menggunakan fungsi panggilan apabila memanggil fungsi lain, saya rasa ini kelihatan mudah dan sukar untuk orang baru seperti saya.
Contoh berikut adalah untuk menyedari bahawa keputusan yang dikembalikan oleh fn dan keputusan adalah sama, iaitu, str1 dan str2 dikembalikan digunakan sebagai tambahan kepada objek yang mengikat? Harap maaf jika huraian masalah mungkin tidak jelas.
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()
Sebenarnya, saya benar-benar ingin mengatakan bahawa perkara-perkara seperti ini, memanggil, memohon, mengikat, dan baru adalah semua asas js dan mesti dikuasai oleh semua orang yang ingin menjadi jurutera hadapan Pada masa yang sama, ini perkara juga lebih membakar otak dalam js dan lebih sukar untuk dikuasai Ya, saya perlu membaca dua buku lagi dan menulis lebih banyak demo. Untuk menjelaskan perkara ini dengan jelas, saya boleh menulis artikel yang panjang jika anda mempunyai kesabaran untuk membacanya, saya cadangkan anda membaca buku.