function randomize() {
var ra = Math.floor(Math.random()*ar.length=4);
document.getElementById('es').innerHTML = ar[ra];
}
有没有办法让这个代码比它更短?原因是因为我将在其他项目和对象中使用这些代码,我不能像这样调用它:randomize();因为我有不同的数组。
答案 0 :(得分: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 :(得分: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);