JavaScript函数——更深入的窥探

<!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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章