1

我正在使用数组推送函数将元素添加到数组

var Oben = document.getElementById("Oben")
var Unten = document.getElementById("Unten")
if( Oben ) {
    objekte.push( Oben );
}
if( Unten ) {
    objekte.push( Unten );
}

我可以如何改进这种编码风格吗?

4

4 回答 4

2
var Oben = document.getElementById("Oben");
var Unten = document.getElementById("Unten");

!Oben ||  objekte.push( Oben );
!Unten ||  objekte.push( Unten );

或者

var Oben = document.getElementById("Oben");
var Unten = document.getElementById("Unten");

Oben &&  objekte.push( Oben );
Unten &&  objekte.push( Unten );
于 2013-06-06T13:59:49.900 回答
2

没关系。但如果你必须:

function pushIfFound(list, id){
    var node = document.getElementById(id);
    if (node){
       list.push(node);
    }
}

pushIfFound(objekte, 'Oben');
pushIfFound(objekte, 'Unten');
于 2013-06-06T14:00:58.693 回答
0

例如,所以:

var Oben = document.getElementById("Oben"),
    Unten = document.getElementById("Unten");
于 2013-06-06T14:00:39.053 回答
0

我可能不会在现实生活中这样做,因为对其他人来说维护并不是最直观的,而是在一行中进行比较:

var Oben = document.getElementById("Oben");
var Unten = document.getElementById("Unten");
objekte.push(Oben?Oben:Unten?Unten);
于 2013-06-06T14:13:53.453 回答