Rumah >hujung hadapan web >tutorial js >Mengapa Fungsi Anak Panah Tidak Berfungsi dalam IE11, dan Bagaimana Saya Boleh Membetulkannya?
Fungsi Anak Panah dan Keserasian IE 11: Memahami Ralat Sintaks
Dalam bidang pengaturcaraan JavaScript, fungsi anak panah menawarkan sintaks ringkas untuk mentakrifkan fungsi . Walau bagaimanapun, fungsi ini mungkin tidak sentiasa serasi dengan penyemak imbas lama, termasuk Internet Explorer 11 (IE 11).
Dalam kes coretan kod yang diberikan:
g.selectAll(".mainBars") .append("text") .attr("x", d => (d.part == "primary" ? -40 : 40)) .attr("y", d => +6) .text(d => d.key) .attr("text-anchor", d => (d.part == "primary" ? "end" : "start"));
Apabila kod ini dilaksanakan dalam IE 11, ralat sintaks ditemui. Sebab asas terletak pada penggunaan fungsi anak panah, yang diperkenalkan dalam ES6 (ECMAScript 2015) dan tidak disokong oleh IE 11.
Mengatasi Isu Keserasian
Kepada jadikan kod itu serasi dengan IE 11, fungsi anak panah perlu digantikan dengan fungsi tradisional pengisytiharan. Kod ES5 yang sepadan akan kelihatan serupa dengan yang berikut:
g.selectAll(".mainBars").append("text").attr("x", function (d) { return d.part == "primary" ? -40 : 40; }).attr("y", function (d) { return +6; }).text(function (d) { return d.key; }).attr("text-anchor", function (d) { return d.part == "primary" ? "end" : "start"; });
Dengan menggunakan pengisytiharan fungsi tradisional, kod yang diubah suai ini akan berjaya dilaksanakan dalam IE 11, mengekalkan fungsi yang dimaksudkan. Adalah penting untuk ambil perhatian bahawa fungsi tradisional mempunyai peraturan yang berbeza untuk mengikat kata kunci ini berbanding dengan fungsi anak panah, jadi perbezaan ini harus dipertimbangkan semasa mengalihkan kod antara versi JavaScript.
Atas ialah kandungan terperinci Mengapa Fungsi Anak Panah Tidak Berfungsi dalam IE11, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!