学习笔记-defineProperty

给对象定义可拦截属性

defineProperty从名字也能猜出个大概来,「定义属性」,没错,它就是用来给对象定义属性的,只不过它可以在定义属性的时候对其进行拦截操作:

let json = { _a: 10 };
Object.defineProperty(json, "a", {
get() 

JS高阶类的初认识

什么是高阶类?

通俗一点来说,高阶类就是父类调用了子类才有的东西。比如这个例子:


class A{ constructor(){ this.username = 'vvheat'; } show(){ console.log(this.username); console.log(this.age); //父类A根本没有age这个属性 }

移动端利用伪元素提升按钮交互体验

移动端上面的按钮如果很小,点起来很麻烦,体验将会很差,有的用户可能会有摔手机的冲动~

上面的 ❤ ,在手机上点击是比较考验耐心的~

所以,我们想要按钮好点的话,得适当的扩大它的触发范围,可以使用::before::after来实现:

.btn-trigger{
  position:relative;
  &::before{
    content:'';
    position:absolute;
    left:-10px;