为了账号安全,请及时绑定邮箱和手机立即绑定

js构造函数

js构造函数

函数式编程 2018-09-04 13:11:07
代码片段1function Foo() {    var bla = 1;    return {        foo:function(){            return bla;        }    }}Foo.prototype.test = function() {    console.log('abc');};var test = new Foo();console.log(test.test)如此为何不能访问到原型中的方法了,构造函数返回值应当怎么写才能把原型方法返回出来代码片段2  function Foo(age) {        this.age = age;        var bla = 1;        return {                        foo:function(){                return bla;            },            test:function(){                Foo.prototype.test.apply(this,arguments);            }        }    }    Foo.prototype={        constructor:Foo,        test:function(){            console.log(this);//指向object对象,下面有两个函数foo和test            //console.log(this.age);        }    };    var test = new Foo(23);    test.test();    也就是说new出来的对象已经不是指向原来构造函数,而是指向了object
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

兄弟,构造函数不是那样用的

function Foo() {
    
}

Foo.prototype.test = function() {    console.log('abc');
};var test = new Foo();console.log(test.test())

这样就行了


查看完整回答
反对 回复 2018-10-10
  • 1 回答
  • 0 关注
  • 466 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信