zoukankan      html  css  js  c++  java
  • 【优化】JSON.stringify()使用优化

      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);
  • 相关阅读:
    wince5.0 key
    CSS基础知识思维导图xmind
    切图
    头部标签集
    List和Set的区别
    PicGo + Gitee 实现 Markdown 图床
    GitHub Pages 与 Gitee Pages 上的 Jekyll
    Agile, CI/CD,DevOps
    你还不了解DevOps? 看这篇就够了
    DevOps实践心得
  • 原文地址:https://www.cnblogs.com/shytong/p/5361625.html
Copyright © 2011-2022 走看看