1.get/set用法
var obj={
msg:'hello',
get fn(){
return this.msg
},
set fn(_msg){
this.msg=_msg
}
}
console.log(obj.msg)
console.log(obj.fn)
obj.fn='hihihi'
console.log(obj.msg)
console.log(obj.fn)
obj.msg='hahaha'
console.log(obj.msg)
console.log(obj.fn)
2.利用对象的get/set实现类似vue v-model的双向数据绑定
<!-- 1.输入框 -->
<input type="text">
<!-- 2.显示输入框输入的值 -->
<h1 id="msg"></h1>
<script>
var obj={
msg:'',
get fn(){
return this.msg
},
set fn(_msg){
var umsg=document.querySelector('input').value
var h1=document.getElementById('msg')
umsg=_msg
h1.innerText=_msg
}
}
document.addEventListener('keyup',function(e){
obj.fn=e.target.value
})
</script>
效果: