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);
  • 相关阅读:
    zabbix3.4报警队列过多清理
    k8s安装nexus并导入第三方jar包
    kubeadmin安装最新版本的kubenets
    aws相关知识
    mysql忘记root密码做法
    mysql实现读写分离(proxy)与高可用(MGR)
    jvm调优
    zabbix监控php-fpm的性能
    脚本
    opencv demo
  • 原文地址:https://www.cnblogs.com/shytong/p/5361625.html
Copyright © 2011-2022 走看看