javascript原型理解(1),原型是父类

什么是原型?作用是什么?

a:当有一个对象叫User,User.prototype即是它的原型,我觉得叫父类更好理解
b:显示原型User.prototype
c:隐式原型 new User()._proto_

原型相当于该实例的一个父类,当需要定义公共方法时,需要用到原型
核心:定义公有方法

//demo1
		function User(username,password){
			this.username = username;
			this.password = password;
		}
		//1.调用原型
		console.log(User.prototype);//Object constructor: ƒ User(username,password)__proto__: Object
		
		let user1 = new User('zs','123');
		let user2 = new User('ls','456');
		console.log(user1.__proto__);//Object constructor: ƒ User(username,password)__proto__: Object

		console.log(user2.__proto__);//Object constructor: ƒ User(username,password)__proto__: Object

		//2.定义公共方法
		//2.1私有方法
		user1.login = ()=>{
			console.log('登陆');
		}
		user2.loginOut = ()=>{
			console.log('退出登陆');
		}
		
		//2.2公有方法
		User.prototype.sleep = ()=>{
			console.log('睡着了');
		}
		
		user1.login();//登陆
		user2.loginOut();//退出登陆
		
		user1.sleep();//睡着了
		user2.sleep();//睡着了
		
		
		/**
		 * 显示原型   User.prototype	
		 * {
		 * 	a:通过类调用
		 * }
		 * ------------------------------------------------
		 * 隐式原型	user._proto_ 	
		 * {
		 * 	a:通过实例取调用
		 * 	b:根据命名规则下划线开头的对象即为私有对象,那应该是不能调用的,下面尝试一下
		 * 	c:调用隐式原型报错如下:Uncaught TypeError: Cannot set property 'eat' of undefined
		 * }
		 * 
		 * */
		//调用 隐式原型的方式 提供一个公用方法
		//Uncaught TypeError: Cannot set property 'eat' of undefined
		/*user1._proto_.eat = ()=>{
			console.log(this.name + 'eat shit');
		}*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值