为了账号安全,请及时绑定邮箱和手机立即绑定

js中的String.prototype.replace函数

js中的String.prototype.replace函数

米脂 2018-08-09 09:14:23
function htmlEncode(str) {        //var div = document.createElement('div');        //div.innerText = str;        //return div.innerHTML;        var map = {            '&': '&amp;',            '<': '&lt;',            '>': '&gt;',            '"': '&quot;',            "'": '&#39;'        };        var mapper = function($0) {            return map[$0];        };        return str.replace(/[&<>"']/g, mapper);    }    上面代码中replace函数的第二个参数我看mdn上可以指定一个函数,其例子是function replacer(match, p1, p2, p3, offset, string) {  // p1 is nondigits, p2 digits, and p3 non-alphanumerics  return [p1, p2, p3].join(' - ');}var newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);这个例子我勉强可以看懂,可是最上面的代码map是一个对象,map[$0]这是啥意思呢,为啥参数是$0呢。
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

所以你的问题其实是不理解property accessor

简单说,就是通过item[属性名],可以访问到item变量的属性名的值


查看完整回答
反对 回复 2018-09-25
  • 1 回答
  • 0 关注
  • 717 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信