encodeURIComponent 与 Handlebars.Utils.escapeExpression

encodeURIComponent vs Handlebars.Utils.escapeExpression

后者是否比JS中提供的原生功能更好?对于像 test test<img src="#" onmouseover="alert('2');">

这样的字符串,两者似乎都以相同的方式工作

两者都不 "better",因为它们完成的任务完全不同。

  • encodeURIComponent() 将字符串转义为 URI(例如,查询字符串变量)
  • Handlebars 的 escapeExpression() 将字符串转义为 HTML(例如,元素的属性)

您选择哪一个取决于转义字符串的位置,而不是原始字符串包含的内容。