this关键字
解析器在调用函数每次都会向函数内部传递一个隐含的参数,
·这个隐含的参数就是this,this指向的是一个对象
这个对象我们称之为上下文对象
根据函数的调用方式的不同,this指向的对象也不同
1.以函数的形式被调用时,this永远指向的都是window
2.以方法的形式被调用时,this指向的是调用方法的那个对象
3.以构造函数的形式调用时,this是新建的那个对象
4.使用call和apply调用时,this是指定的那个对象
构造函数
构造函数就是一个普通函数,创建方式和普通函数没有什么不同,
不同的是构造函数名首字母习惯大写
构造方式和普通函数的区别就是调用的方式不同
普通函数是直接调用,而构造函数需要加new关键字来调用
普通函数调用:var per=prson();
构造函数调用:var per= new prson();
使用同一个构造函数创建的对象,我们称之为一类对象,
也将一个构造函数称之为类
我们将通过一个构造函数创建的对象,称之为这个类(构造函数)的实例
使用instanceof可以检查一个对象是否是一个类的实例
构造函数执行流程:
1.立刻新建一个新的对象
2.将新建的对象设置为函数中的this,在构造函数中可以使用this关键字来引用新建的对象
3.逐行执行函数中的代码
4.将新建的对象作为返回值返回