原型原型链与class继承,promise

本文深入探讨JavaScript中的原型、类和Promise。讲解了构造函数、实例对象、原型链的工作原理,以及ES6中class的引入和继承机制。同时,详细阐述了Promise的概念、状态转换及其在异步编程中的应用,解析了resolve和reject的作用。通过对这些基础知识的理解,有助于提升JavaScript编程能力。
摘要由CSDN通过智能技术生成

一,原型与原型链

1.原型
每个构造函数都有一个prototype属性,
没个实例都有一个__proto__属性
实例的隐式原型都指向他构造函数的显示原型
2.prototype
每个函数都有一个prototype属性,被称为显示原型
3.proto
每个实例对象都会有__proto__属性,被称其为隐式原型
每一个实例对象的隐式原型__proto__属性指向自身构造函数的显示原型prototype
4.constructor
每个prototype原型都有一个constructor属性,指向它关联的构造函数

二.class与继承

1.ES6中的类
ES6引入了class(类)这个概念,通过class关键字可以定义类。该关键字的出现使得javascript在对象写法上更加清晰,更像是一种面向对象语言。

类的所有方法都定义在类的prototype属性上
可以通过prototype属性对类添加方法
还可以通过Object.assign方法来为对象动态增加方法
constructor方法是类的构造函数的默认方法,通过new命令生成对象实例时,自动调用该方法。
constructor方法默认返回实例对象this,但是也可以指定constructor方法返回一个全新的对象,让返回的实例对象不是该类的实例
hasOwnProperty()函数用于判断属性是否是实例属性
in操作符会在通过对象能够访问给定属性时返回true,无论该属性存在于实例中还是原型中
class不存在变量提升
2、ES6中的 class继承
1.父类
2.子类
3.extends关键字

三。Promise

1.什么是Promise?
Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。
从语法上说,promise 是一个对象,从它可以获取异步操作的的最终状态(成功或失败)。
Promise是一个构造函数,对外提供统一的 API,自己身上有all、reject、resolve等方法,原型上有then、catch等方法。
Promise的两个特点

  1. Promise对象的状态不受外界影响
    1)pending 初始状态
    2)fulfilled 成功状态
    3)rejected 失败状态
    Promise 有以上三种状态,只有异步操作的结果可以决定当前是哪一种状态,其他任何操作都无法改变这个状态
  2. Promise的状态一旦改变,就不会再变,任何时候都可以得到这个结果,状态不可以逆,只能由 pending变成fulfilled或者由pending变成rejected
    有哪些状态和参数?如何使用?
    1、主要用于异步计算
    2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
    3、可以在对象之间传递和操作 promise,帮助我们处理队列
    resolve 作用是,将 Promise 对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;
    reject 作用是,将 Promise 对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
    promise 有三个状态:
    1、pending[待定]初始状态2、fulfilled[实现]操作成功
    3、rejected[被否决]操作失败
    当 promise 状态发生改变,就会触发 then()里的响应函数处理后续步骤
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值