ES6级
创建类
从类创建对象
类上面的所有函数都不需要写function(),多个函数方法之间不需要添加
类继承
语法 classfather{ }classsonextendsfather{}
继承父类的部分属性和技能
关键字调用父类的构造函数
超级关键词
关键字调用父类的构造函数
关键字可以调用普通函数
继承属性或模式查找原则 邻近原则
子类构造函数调用父类函数时,必须在子类this之前调用super关键字
ES6 类和对象的注释
需要通过类实例化对象
职业以上的通用属性和技能必须添加和使用
注意this指向的问题,构造函数上面this指向时创建的实例化对象,以及方法中this方法的指向点是这样调用实例化对象的。
面向对象的案例
使用es6的新特性添加元素
// 防止冒泡风暴
双击以禁用选定的文本
构造函数的缺点
当使用构造函数的方法时,使用函数的方法对于使用复杂数据类型的多个对象来说是浪费内存。
使用新特性只能共享方法,通过原型(对象)分配,公共方法放在原型对象的头部
静态成员将成员、函数、属性/方法添加到构造函数本身,静态成员只能通过构造函数访问
原型对象指向我们的构造函数,并且是等价的,它是一个非标准属性,一个路由,还有一个构造函数
构造函数 构造函数
使用原型对象时要注意和的区别。 如果使用等号javascript 内置对象,原来的构造函数会被覆盖,无法指向原来的函数。 必须使用构造函数来自动再次指向原始函数。
就是添加一个属性或者方法,来覆盖原来的构造函数。 如果改变了原来的原型对象,原型对象的形参就是该对象必须使用构造函数重新指向原来的原型对象
记录该函数的引用
只要它是一个物体
对象原型对象是
原型链
js根据原型链进行搜索的搜索机制
并遵守就近原则
构造函数、实例化对象和原型对象之间的关系
这指向
在构造函数中,上面的this指向对象实例
原型对象函数上面的this指向实例对象
扩展外部对象
数组和字符串外部对象不能覆盖原型对象的操作,只能覆盖方法
可以使用原型对象上面的扩展对象,页面可以自定义扩展方法
称呼()
功能:调用该函数可以改变调用函数的this的指向
格式:不带括号的函数
call(实例化对象)可以改变函数的this点,并且不通过
借用构造函数继承父类的属性
借用构造函数继承父类方法
当prototype对象改变对象的使用方式时,使用constructor指向原来的constructor ES5新的方式
数组方法map() every()
遍历方法,有一个有3个参数value、index、array,分别代表每个元素的值、每个元素的索引号、元素本身
迭代过滤的作用,返回新的字段返回迭代遍历
查找元素中是否存在满足条件的元素,并返回布尔值,找到第一个满足条件的元素中止循环
方法测试字段中的所有元素是否通过指定函数的测试。 它返回一个布尔值。
方法创建一个新字段,其结果是该字段中的每个元素都是对所提供函数的调用的返回值。
上面及以上的会议不会中止迭代,内部的会议将停止迭代
字符串模式
//
删除字符串一侧空格的方法
”
对象模式
用于获取对象本身的所有属性 Object.keys(obj)
定义对象的属性或更改现有属性
描述符中的属性值:表示更改的或新添加的值,默认未定义,属性值不允许更改
可枚举; 表示是否可以遍历目标属性,默认值为false
可配置:表示是否可以更改或删除目标属性javascript 内置对象,或者再次更改新特征,默认为 false
函数是如何定义的
命名函数、匿名函数
使用必须格式化为字符串
所有函数都是Function的实例对象,函数也属于对象
函数调用方法
正常的函数调用
对象调用
如何调用构造函数
绑定风暴函数
定时器函数调用
立即执行该函数
改变函数内部的this指针
arr是一个对象,后面可以传递参数; 调用该函数; 更改函数中的 this 点; main函数可以实现继承
方法也是调用函数改变函数内部的this点,但是传递参数时必须以链表(伪链表)的形式传递
调用物理外部对象如:,arr的方式必须是
bind(thisarr,'','')方法也可以改变指针,但是返回的是原函数改变this后形成的函数
严格模式
为整个脚本启用严格模式
可以为函数启用严格模式
不能删除已经定义的变量
严格模式下的全局变量 this 是
严格模式下调用构造函数必须添加new
不允许重复的函数名称
发表评论