JSON.stringify 有性能的问题,移动端尤其明显。下面我们来看看如何优化。

原始写法:

function store(key, val) {
  localStorage.setItem(key, JSON.stringify(val));
}

store('num', 1);
store('on', true);
store('name', 'pamela');
store('obj', {'hello': 'world'});

用tyoeOf进行优化:

function store(key, val) {
  if (typeof val === 'object') {
    localStorage.setItem(key, JSON.stringify(val));
  } else {
    localStorage.setItem(key, val);
  }
}

store('num', 1);
store('on', true);
store('name', 'pamela');
store('obj', {'hello': 'world'})

用参数进行优化:

function store(key, val, isObject) {
  if (isObject) {
    localStorage.setItem(key, JSON.stringify(val));
  } else {
    localStorage.setItem(key, val);
  }
}

store('num', 1);
store('on', true);
store('name', 'pamela');
store('obj', {'hello': 'world'}, true);

将参数中数字变为字符串,作进一步优化:

function store(key, val, isObject) {
  if (isObject) {
    localStorage.setItem(key, JSON.stringify(val));
  } else {
    localStorage.setItem(key, val);
  }
}

store('num', '1');
store('on', 'true');
store('name', 'pamela');
store('obj', {'hello': 'world'}, true);

 

 

相关文章:

  • 2022-02-06
  • 2022-01-03
  • 2021-07-17
  • 2021-12-01
  • 2022-12-23
  • 2021-12-18
  • 2022-12-23
  • 2021-08-30
猜你喜欢
  • 2021-05-31
  • 2021-12-31
  • 2021-08-18
  • 2021-11-17
  • 2022-12-23
  • 2021-12-27
  • 2021-08-31
相关资源
相似解决方案