javascript什么是this指向,?

什么是this指向?

this指向就是函数包含它被调用时所属的对象,就是他被作为方法被调用时所指的对象。
this指向取决与你调用的函数,也就是谁调用的this,this就指向谁;你调用的我,我就指向你。
记住:this只能在函数里面用。谁调用的函数,this就指向谁。
具体来看一下代码:

function fnn(){
console.log(this);//整个window对象
}
fnn()//函数调用

这个this呢他被函数包含着,然后函数被调用,这个函数被调用是在全局被调用了,所以这个this呢它指向整个windows对象;也就相当于window.fnn();window调用的这个函数,这个this就指向整个window对象

function fnn(){
var agg='小张';
console.log(this.agg);//undefined
}
fnn()//函数调用

为啥会是undefined呢?
因为fnn函数是在全局中被window对象所调用,agg是定义在函数里,
在全局里并没有声明这个变量,访问不到,所以是undefined,
那这样就ok了:

var agg='小张';
function fnn(){
var agg='小李';
console.log(this.agg);//小张
}
fnn()//函数调用

再举个例子哈:

    var fn = {
        a: 1,
        b: {
            a: 2,
            fn: function () {
                console.log(this.a) // 2
            }
        }
    }
    fn.b.fn()//调用里面的函数

说明:作为对象来调用,this指向它的上一级;

总结下:
this在什么情况下可以用?
1,函数调用,就是它可以访问到全局window对象
2,作为对象方法调用,在这this就指向它的上级对象
3,作为构造函数调用

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

推荐阅读更多精彩内容

  • 1.概念 在JavaScript中,this 是指当前函数中正在执行的上下文环境,因为这门语言拥有四种不同的函数调...
    BluesCurry阅读 1,147评论 0 2
  • 1. this之谜 在JavaScript中,this是当前执行函数的上下文。因为JavaScript有4种不同的...
    百里少龙阅读 1,022评论 0 3
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,149评论 0 21
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,615评论 0 5
  • 涵义 this可以用在构造函数之中,表示实例对象。除此之外,this还可以用在别的场合。但不管是什么场合,this...
    oWSQo阅读 547评论 0 1