目标功能:使id为blink的html标签闪烁。
我得到的原始程序:
1 2 3 4 5 6 7 8 9 10 11 12 13
| function blinklink() { if (!document.getElementById( 'blink').style.color) { document.getElementById( 'blink').style.color = "red" ; } if (document.getElementById( 'blink').style.color == "red" ) { document.getElementById( 'blink').style.color = "yellow" ; } else { document.getElementById( 'blink').style.color = "red" ; } timer = setTimeout( "blinklink()", 1000); } blinklink();
|
第一版修改:
1 2 3 4 5 6 7 8 9 10 11
| function blinklink() { if ($('#blink').css('color') == 'red'){ $('#blink').css('color', 'white'); } else { $('#blink').css('color', 'red'); } timer = setTimeout('blinklink()', 1000); } blinklink();
|
第二版:
1 2 3 4 5 6 7 8 9 10 11 12
| function blinklink() { if ($('#blink').css('color') == 'red'){ $('#blink').css('color', 'white'); } else { $('#blink').css('color', 'red'); } } setInterval("blinklink();", 500);
|
第三版:
1 2 3 4 5 6 7 8 9 10 11 12
| var color = 'red' ; function change_color() { if (color == 'red'){ color = 'white'; } else { color = 'red'; } return color; } setInterval("$('#blink').css('color', change_color);", 500);
|
第四版:
1 2 3 4 5 6 7 8
| var isRed = true; function change_color(){ isRed = !isRed; $('#blink').css('color' , isRed ? 'red' : 'white' ); } setInterval('change_color();', 1000);
|
最终(第五)版:
1 2 3 4 5 6
| var isRed = true; function change_color(){ $('#blink').css('color' , (isRed = !isRed) ? 'red' : 'white'); } setInterval('change_color();', 750);
|
只剩下5行代码了!
即使是如此简单的地方,细想一下,
都可以有优化的空间,要勤于思考。
宽松自由的工作环境、不过于急迫的工作安排,
才能更好地避免“随意实现功能就算了”的想法,
好好地去想清楚,即使是一小段代码也要写好。
避免写出愚蠢的代码。
Show Comments