0
function randomize() {
var ra = Math.floor(Math.random()*ar.length=4);
document.getElementById('es').innerHTML = ar[ra];
}

このコードをさらに短くする方法はありますか? その理由は、このコードを他のプロジェクトやオブジェクトで頻繁に使用する予定であり、内部で次のように呼び出すことができないためです。私は異なる配列を持っているからです。

4

2 に答える 2

1
function randomize() {document.getElementById('es').innerHTML = ar[Math.floor(Math.random()*ar.length)];}

しかし、関数呼び出しなしでもっと使いたい:

function $(id) {
return document.getElementById(id);
}

function randomize() {
$('es').innerHTML = ar[Math.floor(Math.random()*ar.length)];
}

の代わりに、微視的な高速差分Math.floorを使用できます。~~

これにより、さらに使用する場合は、スペースと時間を節約できます。ただし、1 回だけの場合は、最初の例を使用してください。

于 2012-06-01T21:29:37.793 に答える
1

正確に何をしているのかわからなくても、関連する引数をパラメーターとして関数に渡すことをお勧めします。

function randomize(el, array){
    if (!el || !array){
        return false;
    }
    else {
        var ra = Math.floor(Math.random() * array.length=4);
        // please note that I don't understand what's happening in the above line
        // and suspect, quite strongly, that the '=4' was a typo. Correct as necessary
        el.innerHTML = ar[ra];
    }
}

// call:
randomize(document.getElementById('es'), ['1','2']);
/* or:
var el = document.getElementById('es'),
    array = ['one','two'];
randomize(el,array);
于 2012-06-01T21:33:19.997 に答える