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

中国十大少儿编程教育品牌/seo草根博客

中国十大少儿编程教育品牌,seo草根博客,婚纱摄影网站模板源码,做外贸推广哪个网站好原文 构造函数 没有显式的创建对象创建对象时使用new操作符。所有属性和方法赋值给this对象。没有return语句按照惯例,构造函数的方法名首字母应该使用大写字母,用于区分普通函数,其实构造函数也是函数,其主要功能是用来创建对象…

原文

  • 构造函数
    • 没有显式的创建对象
    • 创建对象时使用new操作符。
    • 所有属性和方法赋值给this对象。
    • 没有return语句
    • 按照惯例,构造函数的方法名首字母应该使用大写字母,用于区分普通函数,其实构造函数也是函数,其主要功能是用来创建对象。
    • 每个构造函数都有一个原型属性prototype,该属性指向一个该构造函数的原型对象,原型对象中有一个constructor属性,该属性指向改构造函数;实例对象中包含一个指针([[Prototype]]),指向构造函数的原型对象,浏览器厂商给每个实例属性都加上了一个__**proto__**属性,用于获取构造函数的原型对象
    • 使用构造函数的缺点就是,每个方法都要在实例上重新创建一遍,如果我们根据Person构造函数创建两个实例,person1和person2都有一个sayName()的方法,但这两个方法是不同的Function的实例,因为Function也是对象,因此每定义一个函数,就会创建一个对象。
      • 解决方式:将共享属性和方法放到原型对象上。每个构造函数都有一个原型属性prototype,该属性指向一个包含该类型所有实例共享属性和方法的对象,即原型对象。
    • 类本身也指向构造函数,类似于一个语法糖,让对象原型更清晰,更加面向对象编程
    • 类里面有一个constructor方法,即构造方法;this关键字代表实例对象。也就是说ES5的构造函数Point,对应ES6的Point的构造方法。
    • 使用的时候,直接对类使用new命令,跟构造函数的用法完全一致,并且类必须用new调用,否则会报错
    • 类的所有方法都是定义在类的prototype属性上面。
    • 在类的实例上面调用方法,其实就是调用原型上面方法
    • prototype对象上面的constructor属性,直接指向‘类’本身,这与ES5的行为一致。
    • 类内部的方法都是不可枚举的。
    • 类里面必须有一个constructor方法,如果没有显示指定,将自动添加一个空的constructor方法,通过new命令生成对象实例时,自动调用该方法,默认返回实例对象this。
    • 实例属性除非显式定义在本身(即定义在this对象上),否则都定义在原型上,所有实例共享原型对象。
    • 可以使用get和set关键字,对某个属性设置存值函数与取值函数,拦截该属性的存取行为。
    • 类和模块内部默认是严格模式,不需要使用use strict指定运行模式。
    • 类不存在变量提升。
    • 类方法内部,如果含有this,它默认指向类的实例。
    • 静态方法:类相当于实例的原型,类中定义的方法都会被实例继承,如果在一个方法前加上static关键字,表示该方法不会被实例继承,而是通过类来调用,这就称为‘静态方法’。如果静态方法中包含this关键字,这个this指的是类,而不是实例。
    • 实例属性除了可以定义在constructor方法里面的this上面,还可定义在类的最顶层
    • 私有属性和私有方法:在属性和方法前面加上#,就表示私有属性或者方法,在内部调用时,要加上#
    • 继承:ES6中Class可以通过extends关键字实现继承,比ES5的通过原型链实现继承清晰和方便的多。
    • 子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类自己的this对象,必须先通过父类的构造函数完成塑造,得到与父类同样的实例属性和方法,然后再对其进行加工,加上子类自己的实例属性和方法。如果不调用super方法,子类就得不到this对象。
    • 在子类的构造函数中,只有调用super之后,才可以使用this关键字,否则会报错,这是因为子类实例的构建是基于父类实例的,只有super方法才能调用父类实例。
    • ES5的继承,实质上先创建子类的实例对象this,然后再将父类的方法添加到this上面(parent.apply(this))。ES6的继承机制完全不同,实质是先将父类实例对象的属性和方法加到this上面(所以必须先调用super方法),然后再用子类的构造函数修改this。
    • Object.getPrototypeOf()方法可以用来从子类上获取父类,可以使用这个方法判断一个类是否继承了另一个类
    • 大多数浏览器的 ES5 实现之中,每一个对象都有proto属性,指向对应的构造函数的prototype属性。Class 作为构造函数的语法糖,同时有prototype属性和proto属性,因此同时存在两条继承链。
      (1)子类的proto属性,表示构造函数的继承,总是指向父类。
      (2)子类prototype属性的proto属性,表示方法的继承,总是指向父类的prototype属性。
    • 类声明不会提升
http://www.rdtb.cn/news/290.html

相关文章:

  • 微网站/大学生网页设计主题
  • 网页游戏网站开发/百度云盘网页版
  • 免费网站香港空间/云南百度推广开户
  • 有名的网站建设公司/2345网址导航怎么卸载
  • 山东最新疫情通报/长沙网站优化对策
  • 手机网站建设广州/注册域名后怎么建网站
  • 网上注册公司申请流程/seo推广培训
  • 南宁做网站哪家公司好/抖音seo系统
  • 安徽安庆网站建设公司/推广赚钱一个50元
  • wordpress+学校模版/哈尔滨优化推广公司
  • 北京病毒感染最新消息/站长工具seo综合查询怎么用
  • 国外做黄色网站/游戏推广平台
  • 手机网站 广告/长春网站建设制作
  • 网站备案几年备案一次/徐州seo建站
  • 织梦手机网站制作教程/百度关键词搜索技巧
  • 法治与安全做讲座网站/seo关键词排名
  • 网站正在建设 英文翻译/福建seo学校
  • 青海建设厅网站特种作业/小程序开发
  • 在什么网站上做自媒体/中国网民博客 seo
  • 多终端网站/网络营销推广的5种方法
  • 专业定制网站建设智能优化/百度贴吧人工客服电话
  • 高校健康驿站建设指引/怎么利用互联网推广
  • 那个公司搭建网站/互联网推广是什么意思
  • 网站建设技术人员招聘/百度推广优化
  • 丹阳网站建设策划/网络营销的方法有哪些?
  • 烟台做网站建设电话/让百度收录自己的网站
  • 苏州营销网站建设公司/抚顺优化seo
  • 福州全网网站建设/哪家网络公司比较好
  • 北京专业网站开发公司/软文平台
  • seo外贸网站建设/百度seo学院