我是关于javascript的新手,所以我无法理解这段代码。
markSelected: function (a) {
a && (array.forEach(query(".menuNode", this.domNode), function (x) { domClass.remove(x, "menuySelectedNode"); }),
(a = dom.byId("galleryNode_" + a.id)) && domClass.add(a, "menuSelectedNode"));
}
我写不出可理解的格式。我想分开以下代码:
(a = dom.byId("galleryNode_" + a.id)) && domClass.add(a, "menuSelectedNode"))
像这样:
markSelected: function (a) {
if(a){
// foreach....
var node = dom.byId("galleryNode_" + a.id);
if(node){domClass.add(a, "menuSelectedNode")}
}
}
这一次,domClass.add(a,"menuSelectedNode")
无效。但简而言之就是工作。
答案 0 :(得分:1)
请务必先检查a
。
a && (/*stuff*/)
转换为:
if(a){
/*stuff*/
}