添加没有“+”号的数字和字符串

Add numbers and strings without the "+" sign

好的,所以我们的 sitecore cms 有一个 "feature",它带有“+”号(加法运算符)并在页面加载之前将其从我的 javascript 脚本块中删除。

我问了几个人是否有变通办法,据我所知:

  1. 重构 js 以在没有“+”符号的情况下工作。 (真的不知道那是什么意思..还在谷歌搜索)
  2. 对于数学:减去负数
  3. 对于字符串:连接两个数组。

有没有简单的方法可以做到这一点?还是我在接下来的几个小时里注定要失败?

您可以使用concat函数:

<script type="text/javascript">
var str1 = "".concat("Welcome ","To ","Javascript");
document.write(str1);
</script>

编辑:顺便说一句,更好的选择是修复 cms 中的代码。你能提供从 js 中删除 + 符号的代码吗?

对于数字:

function add(a,b){
    return a-(-b);
}

add(5, 7);   //12

对于字符串:

function concat(a,b){
    return a.concat(b);
}

concat("Foo", "bar");    //"Foobar"

我猜您正在通过富文本编辑器推送 JavaScript,因为 CMS 中不太可能存在如此根本的呈现问题。在这种情况下,您可能希望从 CMS 开发人员那里寻找更强大的解决方案。可用于引用临时静态 JS 文件的纯文本字段可能是一种更明智的解决问题的方法,无需 JS hack,也无需通过脆弱的编辑器暴露您的代码,后者只会在以后破坏它反正。