1. 程式人生 > >建構函式 匿名函式 與普通函式的區別 以及啥是閉包

建構函式 匿名函式 與普通函式的區別 以及啥是閉包

		//普通函式
		function person2 (name,age) {
			this.name=name;
			this.age=age;
			this.sayName=function () {
			console.log(this.name);
		}
		console.log(this.age);
		}
		person2("lucy","23");   //this 指向window
		window.sayName();  //lucy

		// 建構函式
		function Person (name,age) {   //一般都是首字母大寫
			this.name=name;
			this.age=age;
			this.sayName=function (){
				console.log(this.name);
			}
		}
		var personw =new Person("make","18");   //new 一個物件    this指向person
		personw.sayName();   //make

		//匿名函式
		(function(){
			console.log("匿名函式自我呼叫");
		})();  //呼叫匿名函式

		// 將匿名函式賦值給變數
		var cat = function () {
			console.log("賦值的匿名函式");
		}
		cat();

		// 閉包可以讓你有權訪問另一個作用域內函式的變數
		function box () {
			return function(){
				return 'lee';
			}
		}
		console.log(box()());  //lee