javascript

您所在的位置:网站首页 js怎么把字符串变成变量 javascript

javascript

2024-06-09 17:41| 来源: 网络整理| 查看: 265

因为我们正在重新发明一些可能是javascript中可爱功能的东西。

我使用eval(),这不安全,但javascript不安全。 我很乐意承认我在javascript方面并不出色,但我有需要,我需要一个答案,所以我做了一个。

我选择使用@{{variable}}而不是/\@\{\{(.*?)(?!\@\{\{)\}\}/g来设置我的变量的样式,特别是因为我想使用文字的多行特征而不进行评估直到它准备就绪。 所以变量语法是@{OptionalObject.OptionalObjectN.VARIABLE_NAME}

我不是javascript专家,所以我很乐意接受改进方面的建议,但......

var prsLiteral, prsRegex = /\@\{(.*?)(?!\@\{)\}/g for(i = 0; i < myResultSet.length; i++) { prsLiteral = rt.replace(prsRegex,function (match,varname) { return eval(varname + "[" + i + "]"); // you could instead use return eval(varname) if you're not looping. }) console.log(prsLiteral); }

一个非常简单的实现如下

 

@{{variable}}

 

在我的实际实现中,我选择使用@{{variable}}.还有一组大括号。 绝对不可能意外地遇到这种情况。 正则表达式看起来像/\@\{\{(.*?)(?!\@\{\{)\}\}/g

使这更容易阅读

\@\{\{ # opening sequence, @{{ literally. (.*?) # capturing the variable name # ^ captures only until it reaches the closing sequence (?! # negative lookahead, making sure the following # ^ pattern is not found ahead of the current character \@\{\{ # same as opening sequence, if you change that, change this ) \}\} # closing sequence.

如果你没有正则表达式的经验,一个非常安全的规则是逃避每个非字母数字字符,并且不会不必要地逃避字母,因为许多转义字母几乎对所有正则表达式都有特殊含义。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3