js-with带来的性能问题测试

2018-11-09  本文已影响0人  南方四季

分别运行下面两段代码

 const obj = { cunt: 122 };
  function test_with() {
    with (obj) {
      for (let i = 0; i < 1e6; i++) {
        cunt = 100;
        a = 0;
      }
    }
    console.log(a);
    console.log(obj.cunt);
  }
console.time("test___start");
test_with();
console.timeEnd("test___start");//test___start: 390.218ms
  const obj = { cunt: 122 };
function test_with() {
  for (let i = 0; i < 1e6; i++) {
    obj.cunt = 100;
    a = 0;
  }
  console.log(a);
  console.log(obj.cunt);
}
console.time("test___start");
test_with();
console.timeEnd("test___start"); //test___start: 6.668ms

对比耗时 明显with耗时更久,尽量不使用with

with(object){
  statement;
}
上一篇下一篇

猜你喜欢

热点阅读