JS面向对象的三种写法

欢迎来我的博客交流
/*面向对象的三种写法
*1.构造函数
*2.class类
* 2.直接操作对象
* */

	/**/
	function myShow(name){
		this.name = name;
		this.show();
	}
	myShow.prototype.show = function(){
		console.log(this.name);
	}
	new myShow("jinze");
	var a = new myShow("夏娜");
	console.log(a.__proto__);
	
	
	/**
	 * 上面的这个面向对象程序,等价于,下面这个class方式写出的类
	 * 第二种写法
	 */
	
	class myShow2{
		constructor(name){
			this.name = name;
			this.show();
		}
		show(){
			console.log(this.name);
		}
	}
	new myShow2("admin");
	
	/*上面的这两个面向对象程序,等价于,下面这个直接使用obj方式写出的面向对象
	 */
	var obj = {
		constr:function(name){
			this.name= name;
			this.show();
		},
		show:function(){
			console.log(this.name);
		}
	}
	obj.constr("zhangsan");

你可能感兴趣的:(Javascript)