this指向问题

简单一句话来说,this的指向不是在创建时候决定的,而是调用的时候,谁调用就指向谁。

在严格模式下,未指定坏境,而调用函数,那么this值不会转行为window,而是undefined,如果不是严格模式中,我们可以认为是window;

还有一种情况,如果一个函数中有一个this,但是这个函数包含多个对象,尽管这个函数是被最外层函数的对象所调用,this也只指向它的上一级

new可以改变this的指向(原因是new会创建一个空对象,会自动调用一个apply方法,函数内部的this就会被这个空对象所替代)

另外一种情况下,当this遇到return的时候

如果返回值是一个对象,那么this指向该对象,如果不是则指向这个对象的实例,(null除外,因为它返回的也是对象实例)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上...
    web蜗牛阅读 592评论 1 4
  • 首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上...
  • 首先对this的下个定义:this是在执行上下文创建时确定的一个在执行过程中不可更改的变量。 this只在函数调用...
    阿良__阅读 1,933评论 1 1
  • “燕子去了,还有再来的时候; 杨柳枯了,还有再青的时候; 桃花谢了,还有再开的时候; 年轻的朋友,请你告诉我,为什...
    韩若景阅读 518评论 1 3
  • 青峰数点,流水环游。鱼儿浅悦,飞鸟独霸松枝头。朝阳初露头角,夏虫常鸣,鼓乐齐声,可及江南门庭市,不至残阳不罢休...
    太平洋的大马哈鱼阅读 50评论 0 1