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

可以免费做兼职的网站有哪些长春seo外包

可以免费做兼职的网站有哪些,长春seo外包,网站自己做流量,微信公众 号平台官网es6 class基础用法 以前的JavaScript没有类的概念,它是基于原型的面相对象的语言。原型对象的特点就是将自身属性共享给新对象。我们先看一下下面的代码实现。 //常规写法function Person(name,age) {this.name name;this.age age;}Person.prototype.sayInfo fun…
es6 class基础用法

以前的JavaScript没有类的概念,它是基于原型的面相对象的语言。原型对象的特点就是将自身属性共享给新对象。我们先看一下下面的代码实现。

            //常规写法function Person(name,age) {this.name = name;this.age = age;}Person.prototype.sayInfo = function () {console.log(`${this.name}${this.age}岁`)}const liLei = new Person('LiLei',20)liLei.sayInfo()//LiLei是20岁
复制代码

这种常规约定是以大写字母开头来表示一个构造器(大写开头非官方),可以直接定义函数,也可以通过prototype来扩展函数。这种实现跟java比,实现类的方案太特别了,下面我们看一下es6的类的实现方式:

              class Person{ //定义了一个名字为Person的类constructor(name,age){ //constructor是一个构造方法,用来接收参数this.name = name;  //this代表的是实例对象this.age = age;}sayInfo(){console.log(`${this.name}${this.age}岁`)}}const liLei = new Person('LiLei',21)liLei.sayInfo()
复制代码

由下面代码可以看出类实质上就是一个函数。类自身指向的就是构造函数。所以可以认为ES6中的类其实就是构造函数的另外一种写法!下面的代码可以证明这一点

console.log(typeof Person);//function
console.log(Person===Person.prototype.constructor);//true
复制代码
类的继承

JavaScript中的类同样可以像java一样,可以继承某个类,其中被继承的类称为父类,而继承父类的被称为子类。子类可以有自己的函数和构造器,当子类中存在父类相同的方法时,则该方法不会从父类继承,而使用子类的方法。

class Student {constructor(name){this.name = name}sayName(){console.log(this.name)}testFn(){console.log('我是父类的函数!')}}class Worker extends Student{sayWork(){console.log(this.name)}testFn(){console.log('我是子类的函数!')}}const person = new Worker('liLei')person.sayName()person.sayWork()person.testFn()//输出://liLei//liLei//我是子类的函数!
复制代码

可以看到子类Worker 继承了Student类的sayName函数和name这个内部变量。但是同名函数testFn没有继承,是调用到了子类的testFn函数。这里也可以理解为子类的testFn函数覆盖了父类的testFn函数。

super关键字的使用

super关键字的一个作用是用来访问父类的构造器或者函数用的。子类在使用构造器的时候,必须使用super关键字,用来扩展构造器。上面提到的,子类同名函数会覆盖父类同名函数,这时候,我们使用super关键字,同样能调用到父类的同名函数,就是简单理解为super其实是父类的一个实例对象。

class Student {constructor(name){this.name = name}testFn(){console.log('我是父类的函数!')}}class Worker extends Student{constructor(name,age,sex){super(name)    //这里必须先调用super,才有下文的this对象,这里扩展了一个变量agethis.age = agethis.sex = sex}testFn(){super.testFn();console.log("年龄" + this.age)console.log("性别" + this.sex)console.log('我是子类的函数!')}}const person = new Worker('liLei','20')person.testFn()//输出://我是父类的函数!//年龄20//性别undefined//我是子类的函数!//我是子类的函数!
复制代码

可以看到上面用super关键字实现了子类的构造器,还扩展了2个变量age,sex。同时使用super调用到了父类的方法,所以在子类中即使有父类的同名方法,一样可以实现父类同名方法的调用。super可以理解为父类的一个会实例化对象,但不同的是super只能访问父类的方法和,不能访问私有变量。

static关键字

static关键字一般作用于类的方法,用来定义一个工具函数。static方法不能被实例对象调用,只能通过类名来调用。同时static方法也可以被继承,而且也能在子类中用super对象来调用父类中的static方法。

class Person{      //没有constructor的类会默认生成一个constructor构造器static sayName(){console.log("我是static函数")}}class Student extends Person{}const student = new Student()Person.sayName()Student.sayName()student.sayName()
//输出:
//我是static函数
//我是static函数
//student.sayName is not a function
复制代码

可以看到用实例化的对象来调用static方法时,代码会报错。

es6中类的使用场景

平时我们开发的时候很少使用类的,特别是现在基于vue或者react开发时,一些组件化的东西直接使用各自框架封装好的方式引用,就使用的更少了。 但是某些时候,我们使用es6的类可以让我们的代码的可读性更高。比如说一个分页组件,里面会有计算总页数,上一页,下一页,跳页等方法。我们可以把这个分页函数写在一个类里面,在引用的地方去实例化它,当一个页面有多个分页时,也可以实例化多个,独立调用,互不影响。 总结来说,类可以在封装工具的时候用。最后附上分页工具类的大致代码:

class PageUtil{constructor(pageNo,pageSize,total){    //构造初始变量this.pageNo = pageNo;     //起始页面this.pageSize = pageSize  //一页数据条数this.total = total        //数据总数this.currentPage = 0      //当前选中页数this.pageTotal = Math.ceil(this.total/this.pageSize)   //总页数}nextPage(){     //下一页if(this.currentPage < this.pageTotal){this.currentPage++}}beforePage(){    //上一页if(this.currentPage > 1){this.currentPage--}}jumpPage(page){     //跳页this.currentPage = page}changePageSize(pageSize){    //改变页大小this.pageSize = pageSizethis.pageTotal = Math.ceil(this.total/this.pageSize)   //总页数}getTotalPage(){    //获取总页数return Math.ceil(this.total/this.pageSize)}}class DialogPage extends PageUtil{    //继承PageUtil类constructor(pageNo,pageSize,total,pageTotal){super(pageNo,pageSize,total)this.pageTotal = pageTotal}getTotalPage(){return this.pageTotal || super.getTotalPage()   //重写getTotalPage方法}}const contentPage = new PageUtil(1,10,100)   //实例化2个pageUtil对象contentPage.getTotalPage()const dialogPage = new DialogPage(1,10,100,10)dialogPage.getTotalPage()
复制代码

全文完,如果有不对的地方,希望能积极指出来,大家都是学习者。

http://www.lbrq.cn/news/2671867.html

相关文章:

  • 域名怎么建网站网站设计公司建设网站
  • 网站服务器建设seo网站关键词优化价格
  • 网页制作与网站建设实战教程视频教程百度热搜关键词排行榜
  • 海口手机建站模板优就业seo课程学多久
  • 如何学习网站建设店铺推广怎么做
  • 阿里万网怎么做网站百度识图网页版
  • 网站怎么申请微信支付接口免费外链网站
  • dedecms修改网站教程百度广告客服电话
  • 合肥专业网站制作团队西地那非片的功能主治和副作用
  • 外贸高端网站设计网络营销包括
  • 颛桥做网站seo公司怎样找客户
  • 什么网站做设计可以赚钱网站排名优化公司哪家好
  • 有哪些网站可以做外贸批发seo怎样优化网站
  • 工程建设科学技术奖申报网站免费seo课程
  • 做b2c网站需要多少钱神童预言新冠2023结束
  • 网站维护升级页面外贸新手怎样用谷歌找客户
  • 新冠政策最新20条长沙seo网站推广
  • 宅男做网站宁波优化网站排名软件
  • wordpress 网站提速百度快照和广告的区别
  • 网站如何优化推广新东方教育机构官网
  • 如何制作简单网站百度灰色关键词代发
  • 安阳百度网站制作多少钱淘宝app官方下载
  • 西安微信网站开发站长工具seo综合查询分析
  • 做外贸一般上哪些网站泰安网站seo推广
  • 跨境电商网站建设主管岗位职责中央电视台一套广告价目表
  • [ 1500元做网站_验收满意再付款! 推推蛙品牌策划
  • 做兼职的网站都有哪些企业管理培训课程网课
  • 高端网站建设天软科技关键词优化按天计费
  • 银川住房和城乡建设部网站济南网站优化排名推广
  • 哪些做任务可以赚钱的网站网站怎么推广
  • 数据备份与进程管理
  • K8s DaemonSet 详解
  • 利用whisper api实现若无字幕则自动下载音频并用 whisper 转写,再用 LLM 总结。
  • 使用 ast-grep 精准匹配指定类的方法调用(以 Java 为例)
  • Blob File Buffer ArrayBuffer uint8Array DataView 的关联
  • 机械学习--SVM 算法