Dalam dunia dinamik pembangunan JavaScript, memastikan keserasian merentas penyemak imbas adalah yang terpenting. Satu alat penting dalam mencapai ini ialah kaedah bind(). Walau bagaimanapun, pelayar lama mungkin tidak menyokongnya sepenuhnya. Di sinilah polyfill datang untuk menyelamatkan.
Polifill pada asasnya ialah sekeping kod yang menyediakan fungsi yang tidak disokong secara asli oleh penyemak imbas lama. Dalam kes ini, kami akan mendalami cara membuat polifill untuk kaedah bind() untuk memastikan kod anda berfungsi dengan lancar merentas persekitaran yang berbeza.
Mari kita terokai cara membina polyfill yang penting ini.
Definisi : Kaedah Bind() pada asasnya membenarkan objek meminjam kaedah daripada objek lain tanpa menyalin.
Berikut ialah pecahan langkah demi langkah, polifill Bind.
Ln:1, Orang ialah objek, yang mempunyai sifat "nama" dan umur cetakan sebagai sifat fungsi. PrintAge di sini mencetak nama dan umur.
Ln:8, Person2 hanyalah objek lain yang mempunyai sifat "nama" tetapi tiada fungsi printAge.
Ln: 22, Dalam baris ini, kami memanggil fungsi myBind (iaitu polyfill) dan menyimpan hasilnya dalam pembolehubah bernama "bindFunc".
Ln 12, di sinilah kami menulis polyfill untuk kaedah myBind kami. Dalam fungsi ini, kami mengambil Objek yang kami mahu tambahkan kaedah myBind dan argumen lain. Oleh kerana banyak hujah boleh diluluskan, jadi kami pada asasnya menyasarkan semua hujah menggunakan "...args".
Seterusnya kita semak sama ada jenis "ini", iaitu fungsi "printAge" di sini adalah fungsi atau tidak, jika tidak kita buang ralat, jika tidak kita tetapkan fungsi itu kepada obj (person2) sebagai "obj.fn" yang dihantar kepada kami sebagai parameter dalam fungsi myBind kami. Tetapi oleh kerana kaedah "bind" mengembalikan fungsi yang dipanggil secara berasingan, jadi di sini juga kita mengembalikan fungsi dengan "...args2" sebagai hujah, ini bermakna kita boleh memberikan hujah tambahan kepadanya juga, yang tidak sepatutnya akan melalui polyfill.
Ln 18, kami menyerahkan semua hujah kepada fungsi printAge kami. Kini ia mempunyai semua yang diperlukan dan boleh berfungsi seperti kaedah bind.
Nota: Daripada menghantar umur = 35 dalam panggilan kaedah myBind (Ln 22), kita boleh menyampaikannya sebagai hujah kepada bindFunc(35) juga, inilah sebabnya kami mengambil "...args2", untuk mengendalikan parameter atau argumen tambahan.
Jika anda menyukai penjelasan ini, mari berhubung di Twitter atau LinkedIn dan jika anda mempunyai sebarang maklum balas, beritahu saya dalam ulasan. Sangat membantu.
Twitter
LinkedIn
Atas ialah kandungan terperinci Polyfill untuk Bind(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!