Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
319 views
in Technique[技术] by (71.8m points)

javascript - Convert Arrow function to function expression

I have a function with a map object:

function xml_encode(s)
{
 return Array.from(s).map(c =>
 {
  var cp = c.codePointAt(0);
  return ((cp > 127) ? '&#' + cp + ';' : c);
 }).join('');
}

This has worked great except it has broken everything when running Internet Explorer 11.

I tried to rewrite the code using a function expression however I get a c is not defined:

function xml_encode(s)
{
 return Array.from(s).map(function()
 {
  var cp = c.codePointAt(0);
  return ((cp > 127) ? '&#' + cp + ';' : c);
 }).join('');
}

Unfortunately this needs to be a public-facing function and I am required to support IE11 for now. How do I rewrite this function to work with IE11?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You're missing the argument of your function so try this

function xml_encode(s) {
  return Array.from(s).map(function(c) {
    var cp = c.codePointAt(0);
    return ((cp > 127) ? '&#' + cp + ';' : c);
  }).join('');
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...