• javascript this(上)


    javascript的this指向的是一个函数运行时动态绑定对象。

    this的4种常见的指向:

    作为对象的方法调用

    var obj={
        name:"姚小白",
        getName:function(){
            console.log(this === obj);
            console.log(this.name)
        }  
    }
    obj.getName();
    
    //true
    //姚小白

    函数被作为一个对象调用,所以this的指向了obj对象。

    作为普通函数调用

    在普通函数中,this指向的全局对象,也就是window对象。

    var name = "姚小白";
        var getName = function(){
            return this.name;
        }
    console.log(getName())
    
    //姚小白
    var name = "姚小白";
    var obj = {
       name:"July",
       getName:function(){
             return this.name;
       }
    }
    console.log(obj.getName())  //July
    var name1 = obj.getName;
    console.log(name1())        //姚小白
    console.log(obj.name)       //July
    console.log(this.name)      //姚小白

    在这个函数中,因为函数作用域的关系。当我们打印obj.getName();的时候,function(){return this.name;}  //July

    而在外层时候调用的则是  //姚小白

    在一些事件函数内部,如果还有一个普通函数调用。在那个函数内部会出现this指向window。所以建议在事件内部中的函数建议先将变量定义保存,如(var _this = this

    在ES5的严格模式(use strict)中this不会指向全局对象,返回的是undefined;

  • 相关阅读:
    Python学习第151天(Django之多对多)
    Python学习第150天(目前正在做的内容介绍)
    挑战日语学习100天:Day11
    挑战日语学习100天:Day10
    hdu3853 LOOPS 期望dp
    最长公共子串
    基于后缀数组的字符串匹配
    高度数组模板
    Jenkins持续集成自动化测试
    自动化上传文件
  • 原文地址:https://www.cnblogs.com/youku/p/9404143.html
Copyright © 2020-2023  润新知