代码求解释

Henry.6 2016-09-14 05:05:11

var escapeMap={
"<" : "<",
">" : ">",
'"' : """,
"'" : "'",
"&" : "&"
};
var str="<html>"
var str2=str.replace(/[><]/g, ($0, $1) => escapeMap[$0] );
console.log(str2);//<html>

这里我不理解的是 ($0, $1) => escapeMap[$0]
帮解读一下。
...全文
255 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-09-14
  • 打赏
  • 举报
回复
($0, $1) => escapeMap[$0] 俗称 兰姆达表达式 ($0, $1) 表示传递了两个参数 由于你只需要传递一个参数,写作 $0 => escapeMap[$0] 就可以了 更一般的 x => escapeMap[x]
天际的海浪 2016-09-14
  • 打赏
  • 举报
回复
引用 3 楼 6rl 的回复:
[quote=引用 1 楼 jslang 的回复:] 这是 箭头函数 , 是es6新增语法 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions ($0, $1) => escapeMap[$0] 等于 function ($0, $1) { return escapeMap[$0]; }
是不是第二个参数没用?[/quote] 是,没用
Henry.6 2016-09-14
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
这是 箭头函数 , 是es6新增语法 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions ($0, $1) => escapeMap[$0] 等于 function ($0, $1) { return escapeMap[$0]; }
是不是第二个参数没用?
cheery_an 2016-09-14
  • 打赏
  • 举报
回复
好像ie还不支持
天际的海浪 2016-09-14
  • 打赏
  • 举报
回复
这是 箭头函数 , 是es6新增语法 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions ($0, $1) => escapeMap[$0] 等于 function ($0, $1) { return escapeMap[$0]; }

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧