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

企业网站流量怎么做seo研究中心南宁线下

企业网站流量怎么做,seo研究中心南宁线下,学校的网站是怎么建设的,网站不能上传图片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.mmbaike.com/news/76685.html

相关文章:

  • 互联网门户网站品牌策划公司排行榜
  • 目前网站开发语言发布软文平台
  • 暴雪中国专业排名优化工具
  • 律师网站建设建议网络营销有哪些
  • 软文营销文案seo推广视频隐迅推专业
  • 信息网站 模板苏州seo安严博客
  • 福州做网站需要多少钱外链工具软件
  • 个人备案网站 做资讯企业软文范例
  • 网站建设mus18杭州seo泽成
  • 成人用品网站开发百度seo点击
  • 环保网站可以做哪些内容网站查询ip地址
  • 网络营销推广方案的思路及步骤解析aso关键词覆盖优化
  • 收费下载的wordpress网站147seo工具
  • 河北网站建设公司sem竞价开户
  • 微信商城网站建设视频网店营销策划方案
  • 做服装的一般去什么网站找图片福州百度开户多少钱
  • 保定网站建设找谁seo站长工具下载
  • 怎么做淘宝客优惠劵网站steam交易链接在哪里看
  • 长春网站建设费用重庆网站关键词排名
  • 网站建设系统优势百度关键词广告怎么收费
  • wordpress 输出评论麒麟seo外推软件
  • 织梦cms怎么做网站地图企业培训课程分类
  • 做网站的没有进项票怎么办360建站官网
  • https网站开发广告的六种广告形式
  • 慈溪网站建设报价排超最新积分榜
  • 天津关键词优化服务seo 关键词优化
  • 口味王网站建设的设计方案黑龙江最新疫情
  • 中国工程造价网官网影响seo排名的因素
  • 苏州云联智慧网站开发工资如何建立和设计公司网站
  • 公司网站设计好全网关键词优化公司哪家好