JS 笔记 --持续更新

本文详细解释了JavaScript中的this指向、原型链、作用域规则,以及异步编程的不同实现方式,如回调函数、Promise、generator和async/await。
摘要由CSDN通过智能技术生成
  1. this 指向调用
    this 是执行上下文中的一个属性,它指向最后一次调用这个方法的对象。
    Function.apply(obj,args)方法能接收两个参数
    obj:这个对象将代替Function类里this对象
    args:这个是数组,它将作为参数传给Function(args–>arguments)

    Function.call(obj,[param1[,param2[,…[,paramN]]]])
    obj:这个对象将代替Function类里this对象
    params:这个是一个参数列表

  2. 原型+原型链
    对象的内部将包含一个指针指向构造函数的 prototype 属性对应的值,这个指针被称为对象的原型
    型对象里找这个属性一直找下去,也就是原型链的概念

  3. 作用域+作用域链
    全局作用域,函数作用域,块级作用域(let const)
    依次向上级作用域查找,直到访问到 window 对象就被终止,这一层层的关系就是作用域链。

  4. 异步编程的实现方式?
    可以获取异步操作的消息 (简单说就是一个容器,里面保存着某个未来才会结束的事件)
    有三种状态,pending(进行中)、fulfilled(已成功)、rejected(已失败)
    1.回调函数 的方式(.then) 回调函数地狱
    2.Promise 的方式 (new Promise ())语义不够明确。
    3.generator 的方式 (co 模块等方式来实现 generator 的自动执行。)
    4.async 函数的方式(await 语句的时候,如果语句返回一个 promise 对象,那么函数将会等待 promise 对象的状态变为 resolve 后再继续向下执行)
    .async 函数返回的是一个 Promise 对象不能直接使用,必须要用then() 链来处理这个 Promise 对象
    .如果 async 函数没有返回值和普通函数执行一样,返回Promise.resolve(undefined)。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小七想发言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值