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的原型链上。
复制代码
相关文章
相关标签/搜索