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'
  • 相关阅读:
    CentOS7中使用yum安装Nginx的方法
    vsftp上传文件权限
    java传入ftp 0k
    centos 7.0 查看selinux状态|关闭|开启
    NamingException
    fastdfs服务器搭建
    安装gnome图形界面程序
    MAVEN插件-tomcat插件,java编译插件,资源文件拷贝插件
    spring ioc
    jsp全路径
  • 原文地址:https://www.cnblogs.com/lastorder/p/4842797.html
Copyright © 2011-2022 走看看