var getEval=function (data) {
var newData='Project';
for (var i=0;i<arguments.length;i++) {
newData+='["'+arguments[i]+'"]';
}
if (eval(newData) < 8) {
eval(newData+'++');
}
return eval(newData);
}
var Project={
num:1,
arr:[{
num:8
},{
num:2
}]
}
alert(getEval('num'));
alert(getEval('arr','1','num'));
就这样,难是不难,就是得多转几个弯而已。归根结底就是把一切转换成字符串,然后用eval解析。比如eval(newData+'++'),如果写成eval(newData++)就报错。因为newData变量的值是字符串,而++是运算符。
0 条评论。