想请教下,这个函数里面只能用eval才能生成新的对象,不用eval就没法生成对象,不用eval函数怎样实现处理对象?
<script type="text/javascript">
function test(path){
var arr= path.split(".");
var ns='';
for(var i=0;i<arr.length;i++){
if(i>0){ ns+='.';}
ns+= arr[i];
/* ns = new Object();
*/
eval(" {"+ns+"=new Object();}");
}
}
test("AAA.bbb");
alert(AAA.bbb); //为啥只能用eval这里才能正常显示对象?
</script>
假如这样写 结果就是AAA未定义
<script type="text/javascript">
function test(path){
var arr= path.split(".");
var ns='';
for(var i=0;i<arr.length;i++){
if(i>0){ ns+='.';}
ns+= arr[i];
ns = new Object();
/* eval(" {"+ns+"=new Object();}"); */
}
}
test("AAA.bbb");
alert(AAA.bbb); //为啥只能用eval这里才能正常显示对象?
</script>
用eval的话 最后就可以把传递的参数最终处理为对象,
有无不用eval 把传递的参数处理为对象?谢谢了
...全文
相关推荐
Python实现四则运算模仿eval函数计算处理
使用Python实现的四则运算,注释清晰,功能备注完整,主要练习函数递归和正则表达式,目前只能计算整数的四则运算,如需完善,可把int改为float类型,然后修改正则表达式即可,代码逻辑完全不用动。供
Javascript中eval函数的用法
在处理文档对象模型(DOM)时,我们可以使用 eval 函数来获取难以索引的对象。在生成动态的 HTML 代码时,我们可以使用 eval 函数来将用户的输入作为 HTML 代码来执行。
java实现eval函数
然而,如果你提供的压缩包"java实现eval函数"包含的是一个Java项目,那么它很可能是实现了类似功能的自定义解决方案,可能是一个解析器或者编译器,用于处理特定的表达式或脚本语法。
详解python中eval函数的作用
这个功能在某些特定的应用场景中非常有用,比如动态执行字符串形式的代码,或者是将字符串数据转换成相应的Python对象。尽管eval功能强大,但它也具有一定的安全风险,因此在使用时需要格外谨慎。
python3中eval函数用法使用简介
除了基本的字符串表达式外,eval函数还可以用来执行编译过的代码对象。此时,应当传入一个代码对象而不是字符串。如果传入的代码对象是用'exec'模式编译的,eval函数的返回值将是None。


