javascript - chrome - param tag in html




"وظيفة السهم" لا تعمل في IE ، لماذا؟ (3)

أدناه قطعة من التعليمات البرمجية لا يعمل في IE 11 فإنه يلقي خطأ في بناء الجملة في وحدة التحكم

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"));

باستخدام d3.js الرسم البياني ثنائي d3.js للتصور

هذا الرمز يسبب المشكلة في العبارة أعلاه d=>(d.part=="primary"? -40: 40)


أنت تستخدم وظائف السهم. IE11 لا يدعمهم. استخدام function وظيفة بدلا من ذلك.

إليكم ترجمة Babel's لذلك إلى ES5:

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";
});

بشكل عام ، قبل أن تكون وظائف السهم عبارة عن وظائف سهم ، كانت function JS منتظمة. لذلك مع IE11 ، علينا فقط أن نتراجع في الوقت المناسب

var fruits=["apple","banana","orange"];

var modernResult=fruits.find(e => e.includes("nana"));
console.log(modernResult);

var IEresult=fruits.find(function(e){return e.includes("nana")});
console.log(IEresult);

لا يدعم IE تدوين الأسهم حتى الآن ولكن هناك طريقة سهلة وسريعة ES6 رموز ES5.1 إلى ES5.1 للعمل في IE . قم بزيارة موقع Babel الويب ثم الصق الرموز الخاصة بك في المربع الأيسر وانسخ رمز المربع الصحيح الذي تم نقله إلى الإصدار السابق من JavaScript .

على سبيل المثال ، يتم نقل الشفرة إلى:

"use strict";

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";
});




internet-explorer