位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 函数 使用 this

提问人:刘团圆发布时间:2020-11-25

■知识点

    JavaScript在函数体内定义了 this关键字,this是一个指针型变量,它动态引用当前的运行环境,具体说就是调用函数的对象。调用对象是可以访问的JavaScript对象,而执行上下文的变量对象是一个不可访问的抽象概念。同时,在一个执行上下文中会存在多个可调用函数的对象,但是一个执行上下文只有一个变量对象。

■实例设计

【示例】下面的示例在全局上下文中声明一个变量X,初始化值为1,然后在obj对象内定义一个属性X,初始化值为2。使用函数f检测不同运行环境下x值的变化,以此检测this指针的引用对象。

var x = 1;                 //声明全局变量并初始化

var obj = {

    f: function () {         //定义方法 f

        console. log (this.x) ; //访问当前运行环境中x属性值

    },

    x: 2,                       //定义属性X,赋值为2

};

//obj环境执行

obj.f ()                        //2

var f1 = obj.f;

//window环境执行

fl();                          //1

    在上面的代码中,obj.f()表示在obj对象上调用f函数,则调用对象为obj,此时this就指向obj,this.x就等于obj.x,即返回结果为2。当把obj.f赋值给变量fl,然后在全局上下文中调用fl函数,则f函数体的运行环境在全局上下文中执行,此时this就指向window,this.x就等于window.x,即返回结果为1。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部