close
[簡單解釋closure]
最近都在寫javascript 程式,簡單紀錄一下何謂closure呢? 我覺得closure真的很難解釋,不太是一兩句話就能說得清楚的。 首先,許多程式語言,有提供private方法,如java c++ 等等,供特定類別或方法去使用裡面的變數或函式。但是偏偏javascript裡面沒有內建private這個東西,那麼該怎麼辦呢?就需要利用javascript有作用域的特性,也就是所謂的包閉(closure)的觀念。來看一下影片巴
[影片程式教學]
[完整程式碼]
以上是一個銀行存款的範例教學,大家若有問題可以留言給我喔~~下面附上完整程式碼。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>包閉 closures 基本觀念</title>
</head>
<body>
<script>
//銀行存款
function Outer(){
let money=0;
function inner(){
money+=Number(prompt("存款金額"));
return money;
}
return inner;
}
let saveMoney=Outer();
alert(saveMoney());
alert(saveMoney());
alert(saveMoney());
</script>
</body>
</html>
文章標籤
全站熱搜