Apakah polyfill dalam javascript?
Pada zaman moden, versi terkini JavaScript menyokong pelbagai ciri. Walau bagaimanapun, sesetengah penyemak imbas lama tidak menyokong sepenuhnya semua ciri baharu ini, yang mungkin menyebabkan logik anda tidak berfungsi seperti yang diharapkan dalam penyemak imbas seperti Internet Explorer (IE).
Untuk memastikan keserasian dengan penyemak imbas lama, anda boleh menulis logik tersuai yang meniru gelagat ciri yang lebih baharu ini. Kod tersuai ini dikenali sebagai "polifill."
Dalam siaran ini, saya akan memberikan anda beberapa contoh polyfill untuk kaedah tatasusunan.
1. peta:
if (!Array.prototype.map) { try { Array.prototype.map = function(callback) { const arr = []; if (typeof callback !== "function") { throw new Error("map callback is not a function"); } else { const len = this.length; for (let i = 0; i < len; i++) { const val = callback(this[i], i); arr.push(val); } } return arr; } } catch (err) { console.error(err); } }
Dalam kod di atas anda boleh melihat saya menambah satu kaedah peta dalam rantaian prototaip tatasusunan jika tiada kaedah peta asli.
2. penapis:
if (!Array.prototype.filter) { try { Array.prototype.filter = function(callback) { const arr = []; if (typeof callback !== "function") { throw new Error("filter callback is not a function"); } else { const len = this.length; for (let i = 0; i < len; i++) { const val = callback(this[i], i); if (val) { arr.push(this[i]); } } } return arr; } } catch (err) { console.error(err); } }
Atas ialah kandungan terperinci Polyfils tatasusunan Javascript: peta, penapis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!