JS构造函数、普通函数、函数的继承、promise异步处理、箭头函数

转载自:https://blog.csdn.net/weixin_41796631/article/details/82939585

构造函数和普通函数的主要区别:

1.调用方式不一样。作用也不一样(构造函数用来新建实例对象)

2.调用方式不一样。

     a. 普通函数的调用方式:直接调用 person();

     b.构造函数的调用方式:需要使用new关键字来调用 new Person();

3.构造函数的函数名与类名相同:Person( ) 这个构造函数,Person 既是函数名,也是这个对象的类名

4.构造函数的执行流程

      A、立刻在堆内存中创建一个新的对象

      B、将新建的对象设置为函数中的this

      C、逐个执行函数中的代码

      D、将新建的对象作为返回值

5.普通函数因为没有返回值,所以为undefined

 

6.构造函数例子:构造函数会马上创建一个新对象,并将该新对象作为返回值返回

 

 

 

函数的继承

方法一:JS的继承

Dog.prototype = new Animal(),实现Animal类的继承

方法二:类的继承

extends使Dog类继承自Animal类

 

 异步处理

1.js封装——callback(可读性不高,不符合开放封闭原则,且处理逻辑复杂时容易引发回调地狱)

2.promise.then

 

then()方法是异步执行。
意思是:就是当.then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题。
语法:promise.then(onCompleted, onRejected);参数promise必需。
Promise 对象。
onCompleted必需。承诺成功完成时要运行的履行处理程序函数。
onRejected可选。承诺被拒绝时要运行的错误处理程序函数

 

ES6箭头函跟普通map写法,在this指向上的区别

arr.map(item=>{    console.log(this)  })  //this指向上一级对应的this

arr.map(function(item){     consol.log(this) })  //this指向window 坑点

 

posted @ 2021-11-09 14:03  liuxu_xrl  阅读(261)  评论(0编辑  收藏  举报