zoukankan      html  css  js  c++  java
  • Javascript中的this

    this是 JavaScript 语言的一个关键字。

    -它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用

    -this对象在运行时基于函数的执行环境绑定的:在全局函数中,this等于window。

    -而当函数作为某个对象的方法调用时。this等于那个对象,(匿名函数的执行具有全局性,因此其this对象通常指向window)

    this:这个

    this:指的是调用当前方法(函数)的那个对象

    • 解析器在调用函数每次都会向函数内部传递进一个隐含的参数

    -这个隐含的参数就是this,this指向的是一个对象

    -这个对象我们称为函数执行的上下文对象,

    -根据函数调用方式的不同,this会指向不同的对象

    1.用函数形式调用,this就是window

    2.用方法形式调用,this就是调用方法的那个对象

    var name="Hole";
    function fun(){
        console.log(this.name);
    }
    var obj={
        name:"Jeo",
        sayName:fun
    }
    var obj2={
        name:"Rose",
        sayName:fun
    }
    fun()//全局下的变量Hole
    obj2.sayName()//Rose

     3.当用构造函数形式调用时,this就是新创建的那个对象

    function creatPerson(name,age){
    this.name=name;
    this.age=age;
    this.say=function(){
        alert('hello:'+name);
    }
    }
    var obj=new creatPerson("Jeo",23);
    var obj2=new creatPerson("Rose",14);
    obj.say();//hello:Jeo

     4.使用call和apply调用时,this是指定那个对象

    var obj={name:'Jeo'};
    var obj2={name:'obj2'};
    function fun(a,b){
        alert(a);
    }fun.call(obj,2,3);//this指向第一个参数:obj
  • 相关阅读:
    阶乘递归实现
    队列
    1+2+3+...+100用递归实现
    快速排序C语言实现
    js的onfocus,onblur事件
    CSP2021 游记 菜到离谱
    700题复习计划
    [传递闭包] P2881 [USACO07MAR]排名的牛Ranking the Cows
    【笔记】序列分块
    【题解】UVA10930 A-Sequence
  • 原文地址:https://www.cnblogs.com/yuan233/p/10329019.html
Copyright © 2011-2022 走看看