我有这个:
var field = query("form#"+form.id+" input[name='" + error.field + "']");
if(field.length){
if( field[0].id ) {
widget = registry.byId( field[0].id );
if(widget){
...
}
}
我原以为我可以写:
var field = query("form#"+form.id+" input[name='" + error.field + "']");
if(field.length && field[0].id && widget = registry.byId( field[0].id) ){
...
}
但是,如果我使用第二种“缩短”形式,则会出现 Javascript 错误。
抱歉,给 JSFiddle 会很麻烦。当 query() 返回 0 值时会出现问题—— field[0].id
&&widget = registry.byId( field[0].id)
仍然被解释。
我以为我玩得很安全,因为第二个field[0].id
只会发生,如果field.length
是> 0
,那么widget = registry.byId( field[0].id)
只会发生,如果field[0].id
是真的......
我错过了什么?
默克。