<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>函數--更深入的窺探</title>
<script type="text/javascript">
window.onload = function () {
//函數和匿名函數
var prison = function() {
console.log('prison called!');
}
prison()
/*************************************/
//自動執行匿名函數
(function() {
console.log('private');//輸出 private
})();
//匿名函數傳參
(function(what_to_eat) {
var sentence = 'I am going to eat a ' + what_to_eat;
console.log(sentence);
})('sandwich');
/*
模塊模式
* */
var prison = (function () {
var prisoner_name = 'Mike';
var jail_term = '20 year term';
return {
prisoner : prisoner_name + '-' + jail_term,
sentence : jail_term
};
})();
console.log(prison.prisoner_name);//undefined
console.log(prison.prisoner)//Mike-20 year term
console.log(prison.sentence);//20 year term
//上面代碼中prison.prisoner和prison.sentence的值是不能更改的
//修改後的代碼
var prison = (function () {
var prisoner_name = 'Mike';
var jail_term = '20 year term';
return {
prisoner : function(){
return prisoner_name + '-' + jail_term;
},
sentence : function() {
return jail_term;
}
};
})();
//通過匿名函數返回的對象上的方法來訪問,不能通過該對象或者原型上直接訪問
console.log(prison.prisoner())//Mike-20 year term
console.log(prison.sentence())//20 year term
//期待下一講“閉包”
}
</script>
</head>
<body>
</body>
</html>
JavaScript函數——更深入的窺探
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.