3 回答
TA贡献2036条经验 获得超8个赞
https://segmentfault.com/a/11...
看函数的四种调用模式。
函数的四种调用模式
函数模式
特征:就是一个简单的函数调用,函数名前面没有任何的引导内容
this在函数模式中的含义: this在函数中表示全局对象,在浏览器中是window对象
方法模式
特征: 方法一定是依附于一个对象, 将函数赋值给对象的一个属性, 那么就成为了方法.
this在方法模式调用中的含义:表示函数所依附的这个对象
构造器调用模式
特征:使用 new 关键字, 来引导构造函数.
由于构造函数只是给 this 添加成员. 没有做其他事情. 而方法也可以完成这个操作, 就 this 而言, 构造函数与方法没有本质区别.
构造函数中发this与方法中一样, 表示对象, 但是构造函数中的对象是刚刚创建出来的对象
ps:补充关于构造函数中return关键字的补充说明
构造函数中不需要return, 就会默认的return this
如果手动的添加return, 就相当于 return this
如果手动的添加return 基本类型; 无效, 还是保留原来 返回this
如果手动添加return null; 或return undefiend, 无效
如果手动添加return 对象类型; 那么原来创建的this就会被丢掉, 返回的是 return后面的对象
上下文调用模式
特征:上下文(Context),就是函数调用所处的环境。上下文调用,也就是自定义设置this的含义。
常见的就是通过call 、apply和bind调用
添加回答
举报
