js小案例之充电宝(改变this指向)

128 阅读1分钟
<script>
	const jackObj = {
		name: 'jack', //姓名
		phoneBattery: 70, //手机电池电量70%
		// 给手机电池充电,定义一个change函数传一个参数进去改变电量
		change: function (batteryNum) {
		this.phoneBattery = batteryNum
		},
                    }

            const roseObj = {
            name:'rose', //姓名
            phoneBattery:10, //电池电量10%
            }

            // rose想借用jack的充电宝充电? 实际就是使用jackobj对象的chanage方法

            console.log('rose充电前电量 ',roseObj.phoneBattery);
            //使用call直接改变this指向,传两个参数进去,一个是this新指向的对象,另一个是电量
            jackObj.change.call(roseObj,80)
            console.log('rose充电后电池电量 ',roseObj.phoneBattery);
                // jackObj.change(90)
                // console.log(jackObj.phoneBattery);
		</script>