OR 运算符,用于转义 JavaScript 中的未定义
OR operator to escape undefined in javascript
var x = JSON.parse(localStorage.getItem('x')).length || 0;
上面的代码有一个错误。 || 在这种情况下不起作用,我想知道为什么。其实我可以这样做
var x = JSON.parse(localStorage.getItem('x');
if(x.length){
x = JSON.parse(localStorage.getItem('x').lengt6h
}
但这是 4 行代码。有没有办法在一行中做到这一点?
如果没有找到键,localStorage.getItem()
将返回null
,解析可能不喜欢这样。但是空数组应该没问题。
var x = JSON.parse(localStorage.getItem('x') || '[]').length;
对null
值使用 JSON.parse
返回null
。在null
上调用length
会引发错误。
使用三元运算符 如何在 JavaScript 中使用 ? : (条件(运算符?
x=JSON.parse(localStorage.getItem('x')).length?JSON.parse(localStorage.getItem('x')).length:0;
如果出现以下情况,请尝试速记:
var x = JSON.parse(localStorage.getItem('x')).length != 0 ? JSON.parse(localStorage.getItem('x')).length : 0
这应该有效。在询问 localStorage 的项目x
是否未null
之前,您需要询问它的长度。
var array = [{ 'one': 1, 'two': 2, 'three': 3 }, { 'four': 4, 'five': 5, 'six': 6 }];
localStorage.setItem('x', JSON.stringify(array));
if(localStorage.getItem('x') != null) var x = (JSON.parse(localStorage.getItem('x'))).length;
相关文章:
- 行末尾未定义Javascript
- 未定义Javascript文档
- 未定义Javascript函数
- define未定义Javascript节点
- 未定义Javascript对象Class错误
- 全局变量从事件侦听器中变得未定义 - javascript
- 未定义 JavaScript 数组
- Firefox 中的“未定义”JavaScript 错误
- 使用 kineticjs 的未定义 JavaScript 变量
- 为什么我的类在运行时未定义.Javascript 模块模式
- 事件未定义 JavaScript Firefox (JSON)
- 未定义 Javascript 函数
- 未捕获的引用错误 函数未定义 Javascript
- 使用单击处理程序时出现“系统未定义”JavaScript 错误
- 未定义 JavaScript 原型方法
- 如果你不返回任何内容,为什么函数会返回未定义?Javascript
- 未定义Javascript Integer对象
- 未定义Javascript对象
- 与异步和同步函数相关的未定义javascript函数的问题
- 未定义Javascript类构造函数