美文网首页
javascript中的this指向

javascript中的this指向

作者: 我欢喜喜欢你 | 来源:发表于2019-06-17 08:53 被阅读0次

一般情况下,谁调用就指向谁

普通模式下,普通函数中,指向window;

function foo (){

    console.log(this);//指向window

}

foo ();

普通模式下全局函数可以看成window的方法,相当于window.foo ();

严格模式下,普通函数中,指向undefined;

“use strict”

function foo (){

    console.log(this);//指向undefined

}

foo ();

相当于window.foo ();但是不等于window.foo ();所以是undefined;

image.png

settimeout 是全局方法,所以this的指向为window;

箭头函数的this指向

this指向定义这个箭头函数时所在环境中的this;在哪个地方定义,就指向那个地方的this;

var name = "window";

var obj = {

name : "obj",

sayHello : ()=>{

console.log(this.name);//window

}

}

//相当于

var obj = {};

obj.name = "obj";

obj.sayHello = ()=>{

console.log(this.name);//所以此时this的指向还是window

}

obj.sayHello();

改变this指向:Call apply bind;

var obj1 = {

name : "obj1",

sayHello : function(a){

console.log(this.name);

console.log(a);

}

}

var obj2 = {

name : "obj2"

}

obj1.sayHello.call(obj2,10);//指向call里的第一个参数,参数列表形式

obj1.sayHello.apply(obj2,[20]);//返回值为obj2,需要将参数放到数组里边

obj1.sayHello.bind(obj2)(30);//返回值为obj2

//取数组中的最大值最小值及其索引

var arr = [11,23,-5,1,22];

var minVal = Math.min.apply(null,arr);//当不涉及到this指向的时候直接给null就可以

console.log(minVal);

var minIndex = arr.indexOf(minVal);

console.log(minIndex);

相关文章

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

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

  • JavaScript中this指向

    文章较长,希望你耐心阅读并有所收获。 this指向 想必各位看客老爷搜索此问题,多多少少还是被this迷惑住了,今...

  • 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/jdrofctx.html