Heim > Web-Frontend > js-Tutorial > Über das Verständnis dieser Funktion in js

Über das Verständnis dieser Funktion in js

一个新手
Freigeben: 2017-09-22 10:31:36
Original
1887 Leute haben es durchsucht

//关于this的问题 第一个情况:
    function Foo() {
        this.name=10;
        this.age=100;
        console.log(this)   //{name:10, age:100}
    }
//    var p=new Foo();   new 一个对象,this指的就是即将new出来的对象
//    Foo()      调用情况下,this指window  输出{window}
Nach dem Login kopieren
//关于this的问题 第二种情况:var obj={
        x:5,
        fn:function () {
            console.log(this);   //obj{x:10,fn:function}
            console.log(this.x);  //5
        }
};
obj();
    //函数作为对象的一个属性被调用时,this指该对象,即obj
Nach dem Login kopieren
//关于this的问题 第三种情况:var obj= {
    x: 10,
    fn: function () {
        console.log(this);   //Window
        console.log(this.x);  //undefined
    }
};
var fun=obj.fn;
    fun()
    //这里fn函数被赋值到另一个变量中,没有作为obj一个属性被调用,则this指window//关于this的问题 第四种情况:
    var obj={ x:20}
    var fn =function () {
            console.log(this);  //Object {x:20}
            console.log(this.x)  //20
        }
    fn.call(obj);
    //当一个函数被call或apply调用时,this则取传入的对象的值或者:var x=20;var fn = function(){	console.log(this)    //window	console.log(this.x)   //20};fn(); //调用fn函数时,this指的是window//关于this的问题 第五种情况:var obj={
    x:10,
    fn:function(){
        function f(){
            console.log(this);  //window
            console.log(this.x)  //undefined
        }
        f()
    }
};
obj.fn()
//    函数f虽然是在函数内部定义的,但仍然是普通函数,this指window.
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonÜber das Verständnis dieser Funktion in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage