zoukankan      html  css  js  c++  java
  • this 不同情况指代的对象

    1 全局环境中的this指向全局对象

    this.a = 10;
    alert(a);//10
    
    b = 20;
    alert(this.b);//20
    
    var c = 30;
    alert(this.c);//30

    2 对象内部函数的this指向调用函数的当前对象

    var a = 10;
    var bar = {
        a: 20,
        test: function(){
            alert(this.a);
        }
    }
    bar.test();//20

    3 全局环境函数的this指向全局对象

    var a = 10;
    function foo(){
        alert(this.a);
    }
    foo();//10

    4 匿名函数中的this指向全局对象

    var a = 10;
    var foo = {
        a: 20,
        fn: (function(){
            alert(this.a);
        })()
    }
    foo.fn//10

    5 setInterval和setTimeout定时器中的this指向全局对象

     
    var a = 10;
    var oTimer1 = setInterval(function(){
        var a = 20;
        alert(this.a);//10
        clearInterval(oTimer1);
    },100);

    6 eval中的this指向调用上下文中的this

    (function(){
        eval("alert(this)");//[object Window]
    })();
    function Foo(){
        this.bar = function(){
            eval("alert(this)");//[object Object]
        }
    }
    var foo = new Foo();
    foo.bar();

    7 构造函数中的this指向构造出的新对象

    function Person(name,age){
        this.name = name;
        this.age = age;
        this.sayName = function(){
            alert(this.name);
        }
    }
    var p1 = new Person('lily','20');
    p1.sayName();//'lily'
  • 相关阅读:
    正则表达式(通用篇)
    Ubantu server部署django/flask项目
    Ubantu环境下安装mysql方法
    使用阿里大于发短信(简单版)
    SQLALchemy学习笔记(mysql+python环境)
    windows 安装使用 Memcached
    pycharm2019版本可用破解
    SVN使用教程
    Jquery学习
    css兼容问题
  • 原文地址:https://www.cnblogs.com/lastorder/p/4842797.html
Copyright © 2011-2022 走看看