Specify default value for HTML5 Local Storage item?

前端 未结 4 962
礼貌的吻别
礼貌的吻别 2020-12-18 19:15

In the case that you are trying to get a local storage item that doesn\'t exist, is it possible to set a default value for that item?

For example, let\'s say that in

4条回答
  •  借酒劲吻你
    2020-12-18 19:21

    You can use this method for objects

    /*
    Helper function that return an object from local storage or a default value
    */
    function getObjectFromLocalstorage(key, default_value){
      var value = localStorage.getItem(key);
      if (value === null){
        return default_value;
      }
      return JSON.parse(value);
    }
    

    And here are some example outputs:

    console.log(getObjectFromLocalstorage("some_undefined_key", {}));
    >>> {}
    
    console.log(getObjectFromLocalstorage("some_undefined_key", []));
    >>> []
    
    var value = {a: 1}; 
    localStorage.setItem("defined_key", JSON.stringify(value));
    getObjectFromLocalstorage("defined_key", {});
    >>> {a: 1}
    

提交回复
热议问题