美文网首页
JavaScript中常见的this的指向

JavaScript中常见的this的指向

作者: 四环霉素 | 来源:发表于2018-01-26 15:30 被阅读0次

1.最常见的情况下,函数中的this是指向顶层对象window的。

列如这个下面这段代码:

var a=2;

function showThis()

{

var a=1;

console.log(this.a);

}

showThis();

this指向了window对象

结果输出的应该是2.

2.如果this所在的函数是对象的属性,那么默认情况下this会指向该对象

如下面这段示例代码:

var a=2;

var obj={

a:1,

fun:function(){

console.log(this.a);

}

};

obj.fun();

this指向了Object

最终输出的结果应该是1.

3.JavaScript函数call()或Apply()强制this指向第一个参数对象

如下面这一小段示例代码:

var a=2;

var obj={

a:1,

fun:function(){

console.log(this.a);

}

};

var obj2={

a:3

};

obj.fun.call(obj2);

this指向Object

最终程序的输出结果为3.是obj2的a属性的值。

4 javascript通过new关键字创建的对象,函数中的this会在创建成功后指向被创建的对象

如下面的示例代码:

var a=2;

function fun(a){

this.a=a;

}

var obj = new fun(3);

console.log(obj.a);

this指向fun

在函数执行完之后,fun会赋值给obj,所以最终this指向obj,输出结果为3.

this绑定的优先级按照4,3,2,1的顺序,new的优先级最高。

相关文章

  • 关于js函数中this的指向的问题

    @(javascript)[JavaScript中this的指向] 关于js函数中this的指向的问题 javas...

  • JavaScript中常见的this的指向

    1.最常见的情况下,函数中的this是指向顶层对象window的。 列如这个下面这段代码: var a=2; fu...

  • javascript中的this指向

    写在前面 本文转自深入浅出 JavaScript 中的 this 在java等面向对象的语言中,this关键字的含...

  • Javascript 中 this 的指向

    大家好,我是IT修真院武汉第10期学员,一枚正直、纯洁、善良的前端程序员。 今天给大家分享一下,修真院官网任务...

  • JavaScript中的this指向

    1.概念 在JavaScript中,this 是指当前函数中正在执行的上下文环境,因为这门语言拥有四种不同的函数调...

  • javascript中this的指向

    在面向对象的语言中(例如Java,C#等),this含义是明确且具体的,即指向当前对象。一般在编译期绑定。而在ja...

  • javascript中的this指向

    由于javascript中的this是在运行期绑定的,所以javascript中的this的含义很丰富。它可以是全...

  • javaScript中this的指向

    简单笔记: this永远指向调用它的对象,在严格模式下没有调用对象会指向undefined,非严格模式下指向全局变...

  • javascript中的this指向

    首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上...

  • Javascript中this的指向

    this的指向分为以下四种1.作为对象的方法调用2.作为普通函数调用3.构造器调用4.Function.proto...

网友评论

      本文标题:JavaScript中常见的this的指向

      本文链接:https://www.haomeiwen.com/subject/ibcwaxtx.html