function htmlEncode(str) { //var div = document.createElement('div'); //div.innerText = str; //return div.innerHTML; var map = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; 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呢。
添加回答
举报
0/150
提交
取消