javascript使用eval方法等价于java反射机制中的方法执行效果。既可以赋值也可以执行方法(加参数或不加参数)

javascript强大的eval方法,它将解析字符串并作为js语句执行,话不多说看例子。

使用eval方法赋值例子:

//已经申明的变量
var a = undefined;
//赋值字符串(dataObj为ajax请求返回的json对象,先把它转换成json字符串进行赋值)
var operatorStr = "a="+JSON.stringify(dataObj);";
//赋值,赋值给a json字符串以后在申明a变量的页面可以自由循环遍历。
eval(operatorStr);

 注:eval方法相当于执行的是一个javascript语句,所以在赋值时你拼接的字符串在结束时要加上“;”表示语句结束。

使用eval方法执行方法例子(等同于java的method.invoke()方法):

//申明方法
function a(param1,param2){
//........
}
//eval执行a方法
//方法名
var methodName = "a";
//方法参数
var param1 = "dd";
var param2 = "cc";
//要执行的方法字符串
var operatorStr = methodName +"("+param1+","+param2+")";
//执行
eval(operatorStr);

 注:拼接要执行的函数字符串时,在字符串末尾可以不加“;”即可正确执行

如有疑问,请留言。

猜你喜欢

转载自han916701843.iteye.com/blog/2311092