评估字符串的方法

时间:2012-09-01 12:08:57

标签: javascript

给定一个字符串s,如何在JavaScript中“执行”它?

我知道两种方式,即eval(s)(new Function(s))()

还有其他方法可以评估字符串吗?

1 个答案:

答案 0 :(得分:2)

在HTML文档中,您可以创建<script>元素,但我认为<script>.innerHTML不适用于所有浏览器(但在Firefox中也适用)。

var strToEval = "window.alert(1);";
window.onload = function() {
        var scrEl = document.createElement('script');
        scrEl.innerHTML = strToEval;
        document.body.appendChild(scrEl);
};

或者,而不是设置innerHTML

scrEl.src = "data:text/javascript," + strToEval;