【发布时间】:2019-09-17 10:54:48
【问题描述】:
我有 3 个这样的陈述:
if (value.Title) { caption = value.Title; return; }
if (value.Title[0]) { caption = value.Title[0]; return; }
if (value.titleHTML5) { caption = value.titleHTML5; return; }
如果 value.Title undefined 然后进入第二个 if 语句。但是如果 value.Title[0] undefined 那么它会给出运行时异常。为什么它没有进入第三个 if 语句?
例外:
错误类型错误:无法读取未定义的属性“0”
注意:我在这里读取不同的节点。它在每个节点上都有不同的属性,就像这样。一些节点有Title 一些有Title[0] 等等。即我在同一个节点上没有Title 和Title[0]。这就是这里的问题。问题出在18 节点上。
"17": {
"class": "ScrollView",
"Title": "Guest Services",
"Subtitle": "",
"18": {
"class": "Service",
"title": "calendar",
"imageHTML5": "",
"titleHTML5": "Why you",
},
"19": {
"class": "FinalView",
"Title": [
"My Club"
],
"Subtitle": "",
【问题讨论】:
-
你的第二个 if 语句没有任何意义
-
如何让它更有意义? @PranavCBalan
-
if (value.Title) { if(typeof value.Title === 'string') { caption = value.Title; return; } if (value.Title[0]) { caption = value.Title[0]; return; } } -
@PranavCBalan 这不是我需要的。请再看我的帖子
-
您对每个 awnser 都表示这不是您所需要的。然后你应该更清楚你想要什么
标签: javascript angular typescript