今天在編寫分離式JavaScript開發時產生的想法,其實這個問題早就有了而且一直都在困擾著執著的分離式編程寫法的人們:
完全分離在實際工作中真的有必要嗎?
在 a 標籤 定義 onclick 事件,利用 cookie 實現判斷使用者是否登入。下面是部分代碼:
var FavoriteClick = function() {
var links = document.getElementsByTagName('a');
if(!links) return;
for(i=0;i<links.length;i++) {
if(links[i].className == 'addToFavourite') {
links[i].onclick = function() {
IsCookieName('wy');
};
}
}
}
上面就是利用DOM定位元素而寫的,而這樣的程式受演算法複雜度而影響效率,所以,不分離式編程寫法:用 onclick="FavoriteClick(this);"只需要短短的幾行:
var FavoriteClick = function(obj) {
if(obj.className == 'addToFavourite') {
IsCookieName('wy');
}
return false;
}
這種是DOM觸發的事件,還無須等待載入完不完畢。
前端專家棕熊對效率和需求都能兼顧的一些想法(用代碼說明):
<script type="text/javascript">
function demo(obj) {
obj.value = Math.random();
}
</script>
<input type="button" value="demo" onclick="demo(this)" />
<input type="button" value="demo" onclick="demo(this)" />
<input type="button" value="demo" onclick="demo(this)" />
ps.本人執著於指令碼分離式編程思想哦~!