April 3, 2000 - Accelerated Math Operators
April 3, 2000 Accelerated Math Operators Tips: April 2000
Yehuda Shiran, Ph.D.
|
a = a + 5;
can be written as:
a += 5;
All math operators can be accelerated. The statement:
b = b - 8;
can be written as:
b -= 8;
and:
c = c % 2;
can be written as:
c %= 2;
We can rewrite the persistent random banner's code with accelerated math operators:
function refreshDocJSTOD(frequency) {
var max = tips.length;
var dateObj = new Date();
switch(frequency) {
case "month": // 0 - 11
tipIndex = dateObj.getMonth();
break
case "dayOfTheMonth": // 1 - 31
tipIndex = dateObj.getDate() - 1 // 0 - 30
break;
case "dayOfTheWeek": // 0 - 6
tipIndex = dateObj.getDay();
break;
case "hour": // 0 - 23
tipIndex = dateObj.getHours();
break;
case "now": // Default
default:
tipIndex = getRandomIndex(max);
}
tipIndex %= max;
document.write(tips[tipIndex]);
}
function getRandomIndex(max) {
var randomNum = Math.random();
randomNum *= max;
randomNum = parseInt(randomNum);
if(isNaN(randomNum)) randomNum = 0; // for Netscape
return randomNum;
}