<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 把传递的参数处理为对象?谢谢了
//第一个循环执行的代码如下
//第二个循环执行如下
//搞技术的要务实 多看书 多动脑 。