如何使值等于localstorage或默认为“0”

时间:2013-11-29 06:06:39

标签: javascript

我得到这样的价值:

CreatedBy = localStorageService.get('selectedCreatedBy');

如果本地存储中没有任何内容,如何将其默认为“0”?

3 个答案:

答案 0 :(得分:1)

你有这样的尝试吗?

CreatedBy = localStorageService.get('selectedCreatedBy') || 0;

答案 1 :(得分:1)

var value = localStorage.getItem("key");

var result = value === null ? 0 : value;

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage#localStorage

如果未存储该值,请参阅localStorage.getItem()的定义。 getItem()返回null

答案 2 :(得分:0)

这是我一年前写的localStorage包装器库的极简化版本,它允许传递默认值(也可以对值进行JSON编码/解码)。除了使用类似这样的东西之外,每次从localStorage中检索值时,都必须检查该值是否为null,正如其他回答者指出的那样。

var storage = {
    get: function(key, default_value){
        var response = localStorage.getItem(key);
        response = response || default_value || null;
        if(response){
            try{
                response = JSON.parse(response);
            } catch(e) {}
        }
        return response;
    },
    set: function(key, value){
        if(typeof value.charAt !== 'function'){
            value = JSON.stringify(value);
        }
        localStorage.setItem(key, value);
        return this;
    }
}

storage.set('foo', {a: 'b', c: 'd'});

storage.get('bar'); // returns null
storage.get('bar', [1, 2, 3]); // returns array [1,2,3]
storage.get('foo'); // returns Object {a: "b", c: "d"}