懶函式

yakunyang(2016)發表於2020-12-28

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>惰性函式</title>

</head>

<body>

<p id="test1">惰性函式1</p>

<p id="test2">惰性函式2</p>

<script>

 

// 只執行一次。不需要每次執行每次判斷

 

// 防止全域性汙染

// var foo1 = (function() {

// var t;

// return function() {

// if (t) return t;

// t = new Date();

// return t;

// }

// })();

// 解決每次執行每次判斷的問題

 

var foo = function() {

var t = new Date();

foo = function() {

return t;

};

return foo();

};

foo();

foo();

 

// DOM 事件新增中,為了相容現代瀏覽器和 IE 瀏覽器,我們需要對瀏覽器環境進行一次判斷: jq 部分原始碼

 

var addEvent = (function(){

if (window.addEventListener) {

return function (type, el, fn) {

el.addEventListener(type, fn, false);

}

}

else if(window.attachEvent){

return function (type, el, fn) {

el.attachEvent('on' + type, fn);

}

}

})();


 

// 相容封裝

addEvent('click',document.getElementById("test1"),function(){

alert(111)

})

addEvent('click',document.getElementById("test2"),function(){

alert(22)

})







 

</script>

</body>

</html>

 

相關文章