如果函数定义为对象属性,如何定义函数原型

时间:2019-06-14 06:32:36

标签: javascript

我想创建一个包含各种功能的对象。如果构造函数是对象的属性,该如何在构造函数原型中定义函数?

我这样尝试过:

var UTILS = {
    MyFuncCtor1: function () {

    },
    MyFuncCtor1.prototype.MyFunc1 : function() {

    }
}

但不起作用

2 个答案:

答案 0 :(得分:2)

sinsc UTILS是一个对象,定义“左侧”值实际上是在该对象中定义属性。 因此,以上代码没有实际意义,因为MyFuncCtor1.prototype.MyFunc1不是有效的密钥。

可能的话,可能是:

function MyFuncCtor1() {

}

 MyFuncCtor1.prototype.MyFunc1 = function() {
    alert('MyFunc1')
};

const UTILS = {
    MyFuncCtor1: new MyFuncCtor1()
}

UTILS.MyFuncCtor1.MyFunc1()

https://jsfiddle.net/kadoshms/87qdt63e/4/

答案 1 :(得分:1)

您可以分两步完成。首先,定义构造函数并追加原型函数。您定义对象并将构造函数设置为属性。

function MyFuncCtor1() {
}

MyFuncCtor1.protptype.MyFunc1 = function() {
}

var UTILS = {
    MyFuncCtor1: MyFuncCtor1
}