如何检测parseInt的返回值(localStorageService.get('xxx'));是NaN?

时间:2013-10-26 10:24:40

标签: javascript

我有这段代码:

        getPageTypes: function ($scope) {
            $scope.option.pageTypes = [
                { id: 0, type: 'Edit Basic' },
                { id: 1, type: 'Edit Standard' },
                { id: 2, type: 'Report' }
            ];
            $scope.option.selectedPageType = parseInt(localStorageService.get('xxx'));
        },

如果localStorage中没有为“abcd”存储条目,如何将$ scope.option.selectedPageType设置为值0?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

您可以使用此简写方法初始化selectedPageType变量:

$scope.option.selectedPageType = parseInt(localStorageService.get('xxx')) || 0;

小心使用提出的本机isNaN方法,因为MDN文档声明它是broken function。例如,对于非数字值,它将返回true,例如undefined。

如果您有Underscore.js Javascript库,您也可以考虑使用_.isNaN