Web前端之JS高级(4)—— OOP、ES5

  1. OOP
    封装:3种
    继承:
    自有属性和共有属性:
    自有属性: 保存在当前对象本地,仅归当前对象自有的属性
    共有属性: 保存在原型对象中,归多个子对象共有的属性
    取值/访问时: 对象.成员名
    修改时: 修改自有属性: 子对象.属性=值
    修改共有属性: 原型对象.共有属性=值
    如果强行用子对象.共有属性=值
    后果: 为子对象自己添加一个同名的自有属性,从此子对象与父对象再无关系。——错误!

内置对象的原型对象:
内置对象: ES标准中规定的,浏览器已经实现了的,咱们可以直接使用的对象
js内置对象: 11个:
String Number Boolean
Array Date RegExp Math
Error
Function Object
global
其实,每种内置对象(除Math和global外)都是一种类型:
都由两部分组成:
1. 构造函数: 创建该类型的子对象
2. 原型对象: 保存该类型共有的函数

原型链:
什么是: 多级原型对象逐级引用形成的链式结构
作用: 1. 保存了一个对象可用的所有成员
2. 控制着成员的使用顺序: 先自有,再共有

多态:
什么是: 一个函数在不同情况下表现出不同的状态
2种:

  1. 重载:
  2. 重写(override): 子对象中定义了和父对象中同名的成员
    何时: 只要子对象觉得父对象的成员不好用,就要定义自有的,来屏蔽父对象的。

自定义继承: 见1_自定义继承.pptx

  1. ES5:
  2. 严格模式:
    什么是: 比普通js运行要求更严格的模式
    为什么: js语言本身有很多广受诟病的缺陷
    何时: 今后所有js代码都要运行在严格模式下
    如何: 在当前作用域的顶部: “use strict”;
    要求:
  3. 禁止给未声明的变量赋值:
  4. 静默失败升级为错误:
    静默失败: 执行不成功,也不报错!
  5. 禁用了arguments.callee
    arguments.callee: 在调用函数时,自动获得当前正在执行的函数本身。
    何时: 专门用于在递归算法中,代替写死的函数名
    递归的问题: 效率极低!——重复计算量太大!
    解决: 几乎所有的递归都可以用循环代替
  6. 普通函数调用和匿名函数自调中的this不再指向window,而是undefinde
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值