当前位置: 首页 > news >正文

商城网站方案wordpress设置背景图片

商城网站方案,wordpress设置背景图片,安徽新增13个高风险区,建设网站的免费模板super关键字 在 JavaSCript 中,能通过 extends 关键字去继承父类 super 关键字在子类中有以下用法: 当成函数调用 super() 作为 "属性查询" super.prop 和 super[expr] super() super 作为函数调用时,代表父类的构造函数。 ES6 要求…

super关键字

        在 JavaSCript 中,能通过 extends 关键字去继承父类

        super 关键字在子类中有以下用法:

  •  当成函数调用 super()
  •  作为 "属性查询" super.prop 和 super[expr]

super()

        super 作为函数调用时,代表父类的构造函数。

        ES6 要求,子类的构造函数必须执行一次 super() 函数。

        注意:作为函数时,super() 只能用在子类的构造函数之中,用在其他地方就会报错。

class A {}
class B extends A {constructor() {super();}
}

        super 作为函数调用时,内部的 this 指的是子类实例。

class A {constructor() {this.print();}print(){console.log('这是A');}
}
class B extends A {constructor() {super();}print(){console.log('这是B');}
}
new B() // 这是B
// 继承了A的print
class A {constructor() {this.print();}print(){console.log('这是A');}
}
class B extends A {constructor() {super();}
}
new B() // 这是A

    

super.prop

  • 在普通方法中,指向父类的原型对象;
  • 在静态方法中,指向父类。

       

        普通方法

        这里的super指向父类原型对象,即 A.prototype

class A {x = 2p() {return this.x;}
}
class B extends A {print(){console.log(super.p())}
}
const a = new B()
a.print() // 2

        由于在普通方法中的 super 指向父类的原型对象,而A的CLASS写法其实是:

function A() {this.x = 2;}A.prototype.print = function () {return this.x
};

        所以我们能够在父类A的原型对象上找到print方法。那么如果是这样:

class A {x = 2
}
class B extends A {print(){console.log(super.x)}
}
const a = new B()
a.print() // undefined

       自2022年之后,实例属性现在除了可以定义在constructor()方法里面的this上面,也可以定义在类内部的最顶层。所以这里的x=2其实等同于constructor(){this.x = 2};

         如果父类上的方法或属性是定义在实例上的,就无法通过 super 调用的

       

         在子类普通方法中通过 super 调用父类的方法时,方法内部的 this 指向的是当前的子类实例。

class A {constructor() {this.x = 1;}print() {console.log(this.x);}
}
class B extends A {constructor() {super();this.x = 2;super.y = 123;  //如果通过super对某个属性赋值,这时super就是this,赋值的属性会变成子类实例的属性。}m() {super.print();}
}
let b = new B();
b.m() // 2
console.log(b.y);  //123

        静态方法

        super作为对象,用在静态方法之中,这时 super 将直接指向父类,而不是父类的原型对象。

class Parent {static myMethod(msg) {console.log('static', msg);}myMethod(msg) {console.log('instance', msg);}
}
class Child extends Parent {static myMethod(msg) {super.myMethod(msg);}myMethod(msg) {super.myMethod(msg);}
}
Child.myMethod(1); // static 1
var child = new Child();
child.myMethod(2); // instance 2

        在子类的静态方法中通过 super 调用父类的方法时,方法内部的 this 指向当前的子类,而不是子类的实例。

class A {constructor() {this.x = 1;}static print() {console.log(this.x);}
}
class B extends A {constructor() {super();this.x = 2;}static m() {super.print();}
}
B.x = 3;
B.m() // 3

http://www.yayakq.cn/news/575072/

相关文章:

  • 网站标题应怎设置怎么做公司网站竞价
  • 太原市零元网站建设东莞seo网站优化排名
  • 此网站服务器不在国内维护导航wordpress模板
  • 在微信上做网站wordpress删除摘要
  • 松江做营销网站代理公司韩剧在线观看免费
  • 租服务器发布网站眼镜网站建设
  • 深圳建设网站seo 手机龙岗网站设计机构
  • 深圳企业网站建设定制开发服务长沙县政务网站
  • 为什么大型网站都用php网站排名第一
  • 网站建设捌金手指下拉十六赣州培训学做网站
  • 免费建设在线商城的网站企业建站模板多少钱
  • 榆林免费做网站建立公司网站的好处
  • 做服装的外贸网站施工方案下载免费网站
  • 网站建设的目标及功能定位什么网站做推广
  • 网站开发的公司排名宁波专业网站seo公司
  • 山东网站建设哪家权威学seo网站推广好吗
  • 校园网站的建设开发一个相亲软件需要多少钱
  • 微信网站建设咨询常州seo收费
  • 网站下载不了怎么解决phpcms 手机网站模板
  • 网站建设产品分类网站打开速度多少时间
  • 深圳品牌策划营销优化设计四年级上册数学答案
  • 网站建设公司兴田德润专业如何加速wordpress反应速度
  • 8黄页网站建设wordpress自定义搜索文件
  • 南通免费建设网站企业如何进行网站建设
  • 大学网站建设商丘 网站建设
  • 自建网站模板下载恢复wordpress修订版本号
  • 哪些域名适合营销型网站网站建设销售需要懂的知识
  • 帮做论文网站吗php 企业网站开发实例
  • 网站建设需要什么资料做彩票网站能挣到钱吗?
  • 天津和平做网站公司网站推广方案范例