let x={a:{b:{c:{d:1}}}};
在不使用eval的前提下,能不能通过x[变量]的方式获取到x.a.b.d的值?
然后还有个问题,为啥正常取值会比用eval慢一点,是我代码有问题吗?
console.time('正常方式获取');
console.log(x.a.b.c.d);
console.timeEnd('正常方式获取');
console.time('eval方式获取');
console.log(eval('x.a.b.c.d'));
console.timeEnd('eval方式获取');
输出:
1
正常方式获取: 1.644ms
1
eval方式获取: 0.066ms
补充一下,上面的是在node下运行的,我发现在浏览器里eval会慢一点,这啥情况?