如何执行字符串形式的js代码?

JavaScript016

如何执行字符串形式的js代码?,第1张

第一种方式

var str=" var sum = 1 + 2 "

eval(str)

alert(sum)

第二种方法

把方法写入到a页面中,b页面中直接调用。

a 页面中提交到b页面。并且在隐藏帧处理,那么只需要在b页面中返回parent.fa1()就会调用a的代码

<script>

function fa1(){ alert('A')}

</script>

<form name="fm" ation="b页面" target="framesubmit">

</form>

<iframe name="framesubmit" height=0 width=0 />

可以使用JavaScript自带的eval() 方法。

定义和用法

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

语法

eval(string)

参数

string    必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。  

返回值

通过计算 string 得到的值(如果有的话)。

例子:

<script type="text/javascript">

    eval("x=10y=20document.write(x*y)")   

    document.write(eval("2+2"))    

    var x=10

    document.write(eval(x+17))

</script>

输出:

200

4

27

方案只有一种:

    通过eval方式把字符串转换为命令方式,执行字符串型方法函数。

示例

<script>

function func(a){//定义一个待参数的函数

  alert(a)

}

eval('func()')//调用函数不传入参数

eval('func("bcd")')//调用函数,传入参数

</script>