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'
  • 相关阅读:
    mysql 约束条件介绍
    mysql 约束条件目录
    mysql 日期类型
    mysql float 浮点型
    mysql int 整数类型 解释显示宽度 和 存储宽度
    mysql 整数类型 数值类型 tinyint
    【洛谷P4096】Eden 的博弈树
    【GMOJ6824】英雄联盟
    【GMOJ6826】隔膜
    【POJ 2420】A Star not a Tree?
  • 原文地址:https://www.cnblogs.com/lastorder/p/4842797.html
Copyright © 2011-2022 走看看