js 基礎

this指向

function aa() {
        }
        aa.prototype.ff = "ff";
        // console.log(aa.prototype);
        aa.dd = "dd";
        aa.prototype.getName = function (a, b) {
            // console.log(this);
            this.ee = "ee";
            // aa.prototype.ee = "ee";
            console.log(3);
            return "getName"
        };
        aa.prototype.constructor = aa;

        var foo = new aa();
        console.log(foo.dd); // --> undefined 是由於dd沒有在aa的原型鏈上,因此在new之後沒有辦法添加到new生成的方法上
        console.log(foo.ee); // -->undefined 是由於此處並無執行getName,this.ee並無加到aa的原型上
        console.log(foo.getName());// -->getName 
        console.log(foo.ee); // -->ee 通過上面getName執行,在執行的過程當中,ee添加到了aa的原型鏈上。
複製代碼
相關文章
相關標籤/搜索