我正在使用的库中有一个缩小的 if 语句,我想在这里进行更改:
if (c = a.instances[c["data-cke-widget-id"]])
d = b.getFirst(g.isParserWidgetElement),
f.push({
wrapper: b,
element: d,
widget: c,
editables: {}
}),
"1" != d.attributes["data-cke-widget-keep-attr"] && delete d.attributes["data-widget"]
最后一行抛出错误,因为 d
有时可以为 null。在继续之前,我试图将其包装在一个检查中以查看 d
是否存在。到目前为止我一直没有成功,因为这个代码块不像普通的 if 语句,它在 if
之后缺少括号并且在行之后没有分号。有没有办法将这里的最后一行封装在另一个 if 语句中?
最佳答案
当前的代码,翻译得更理智一点,看起来像这样:
if (c = a.instances[c["data-cke-widget-id"]]){
d = b.getFirst(g.isParserWidgetElement);
f.push({
wrapper: b,
element: d,
widget: c,
editables: {}
});
if ("1" != d.attributes["data-cke-widget-keep-attr"]) {
delete d.attributes["data-widget"];
}
}
如果最后几行有时因为 d
而抛出错误,只需在访问 d.attributes
之前添加一个空检查:
if (c = a.instances[c["data-cke-widget-id"]]){
d = b.getFirst(g.isParserWidgetElement);
f.push({
wrapper: b,
element: d,
widget: c,
editables: {}
});
if (d !== null && "1" != d.attributes["data-cke-widget-keep-attr"]) {
delete d.attributes["data-widget"];
}
}
但您真的不应该尝试更改缩小的代码 - 您应该更改源代码,然后将其推送到构建过程并自动缩小。
关于javascript - 我怎样才能改变这个缩小的 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50125299/