js 생 성자 속성 (2)

2090 단어 Constructor
constructor 속성 은 현재 대상 을 만 드 는 구조 함 수 를 항상 가리 키 고 있 습 니 다.
 
constructor 의 지향 이 이해 되 지 않 는 다 면 먼저 보 세 요.
http://cxy020.iteye.com/blog/1028100
//  ie     
	var console = console || {};
	console.log = console.log || function(a){
		alert(a);
	}

	// 
	function Person(obj){
		obj = obj || {};
		this.sex = obj.sex || 0;
		this.age = obj.age || 0;
	}
	//    
	Person.prototype.say = function(){
		console.log("   " + this.age);
	};

	// 
	function ZhangSan(){
		var like = "NV";

		//    
		this.myLike = function(){
			console.log("  " + this.sex + ",  " + like);
		}
	}

	//   Person
	ZhangSan.prototype = new Person({"sex":" ","age":18});
	ZhangSan.prototype.myLike = function(){
		//            like
		console.log("  " + this.sex + ",    ");
	}
	//   
	var zs = new ZhangSan();

	//      
	zs.myLike();
	//         
	zs.say();

	//     ZhangSan myLike    ,          .
	//  js    ,         .
	delete zs.myLike;
	//      
	zs.myLike();

	//         
	Person.prototype.run = function(){
		console.log("     ");
	}

	//        ,    
	zs.run();

	//  :   Person          ,
	//          Person        look
	Person.prototype = {
		//     object constructor,   Person
		constructor:Person,
		look:function(){
			console.log("      ");
		}
	}

	//   
	//zs.look();

	//          look 
	//zs constructor   Person
	console.log(zs.constructor == Person);
	//look Person      .    Person         
	zs.constructor.prototype.look();

	//     ,         constructor  ,      .

좋은 웹페이지 즐겨찾기