gpt4 book ai didi

javascript - 在创建对象时,JavaScript 中调用对象成员函数的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-30 16:24:05 25 4
gpt4 key购买 nike

所以我的情况是这样的

function MyObject ( data ) 
{
// ...
this.MyMemberFunction = function ( ) { /* ... */ };
}

并且我希望在创建新的 MyObject 时调用 MyMemberFunction。所以我想要相当于

var myObjectInstance = new MyObject(allData);
myObjectInstance.MyMemberFunction();

function MyObject ( data ) 
{
// ...
this.MyMemberFunction = function ( ) { /* ... */ };
this.MyMemberFunction();
}
var myObjectInstance = new MyObject(allData);

但我想知道是否有比这两种方法更好、更合适的方法?

最佳答案

对象的构造函数是您应该将对象初始化为正常工作顺序的地方,也是您应该放置所有新创建对象时应调用的任何代码的地方。一个对象有一个 .init() 方法是很常见的,该方法从为该对象执行通用设置代码的构造函数中调用。

因此,如果它包含应始终在所有新对象上调用的代码,那么在构造函数中调用您的方法是正确的做法。

对于定义方法的位置,您确实有另一种选择。将它放在原型(prototype)上而不是在构造函数中分配它可能更有意义。

function MyObject ( data ) {
// ...
this.myMemberFunction();
}

MyObject.prototype.myMemberFunction = function ( ) { /* ... */ };


var myObjectInstance = new MyObject(allData);

注意:Javascript 中的一个常见约定是构造函数以大写字母开头,而常规函数或成员以小写字母开头。由于应该以不同方式调用构造函数(使用 new),因此这对它们进行了不同的标识。

注意:如果你的初始化方法不需要是一个可以被外界调用的公共(public)方法,那么它就不必是对象上的实际公共(public)方法。您可以将代码内联到构造函数或仅在对象文件范围内可用的私有(private)函数中。

关于javascript - 在创建对象时,JavaScript 中调用对象成员函数的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34361431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com