Rumah >hujung hadapan web >tutorial js >Mengapa Fungsi Anak Panah Tidak Berfungsi dalam IE11, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Fungsi Anak Panah Tidak Berfungsi dalam IE11, dan Bagaimana Saya Boleh Membetulkannya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-15 13:00:22749semak imbas

Why Don't Arrow Functions Work in IE11, and How Can I Fix It?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn