写代码的过程中总是会用到很多的函数,但是总觉得自己对于很多知识的理解都是碎片化的,没有一个整体的结构性,看了一些博文和书籍,自己也来总结一下
区分普通函数和构造函数:
1、构造函数也是一个普通函数,创建方式是一样的,但是习惯上构造函数首字母大写
2、两者的调用方式不一样,作用也不一样
普通函数:person( )
构造函数:new Person( )
3、构造函数的函数名与类名相同:Person( ) 这个构造函数,Person 既是函数名,也是这个对象的类名
4、构造函数的内部用this 来构造属性和方法
function Person(name,job,age) { this.name=name; this.job=job; this.age=age; this.sayHi=function() { alert("Hi") } }
5、构造函数的执行流程
A、立刻在堆内存中创建一个新的对象
B、将新建的对象设置为函数中的this
C、逐个执行函数中的代码
D、将新建的对象作为返回值
6、普通函数例子:因为没有返回值,所以为undefined
构造函数例子:构造函数会马上创建一个新对象,并将该新对象作为返回值返回
8、用instanceof 可以检查一个对象是否是一个类的实例,是则返回true;
所有对象都是Object对象的后代,所以任何对象和Object做instanceof都会返回true
参考链接:https://blog.csdn.net/weixin_41796631/article/details/82939585