gpt4 book ai didi

带有构造函数 init 的 Javascript 类

转载 作者:行者123 更新时间:2023-11-28 20:20:32 24 4
gpt4 key购买 nike

我正在尝试创建一个具有属性和功能的模块,可以像验证器对象一样使用它来验证内部的所有对象,并使用一个有效方法,如果验证器成功则返回 true。

所以我制作了这个文件

function Machine(params)
{
// this is the constructor
if(params){
var pub=params;
return this.init(pub);
}
this.obj_params = 'null';
this.valid = 'Not Valid';
};
Publicacion.prototype.init = function(objConfig){
console.info('Init Success!')
this.buildMachine(objConfig);

return true
};
Publicacion.prototype.buildPublish = function(objConfig){
console.info('Builded!');
//this.valid='success'; // when uncommited, the object this.valid appears

return true;
};

module.exports=Machine;

这是控制台

> var Machine=require('./Machine')
> undefined
> var machinegun=new Machine();
> Init Success!
> Builded!
> undefined
> machinegun.valid
> undefined

两个问题:

  1. 当我尝试访问“machinegun.valid”时,这会返回一个未定义的
  2. 当我使用构建方法定义 valid 时,会出现 var valid 。

为什么构造函数一开始没有定义有效的变量?为什么build方法可以定义有效变量???

我不明白 javascript 如何与类一起工作...

谢谢大家!

最佳答案

该函数在设置 this.valid 之前返回 this.init(pub)。您应该首先在构造函数中定义 this.valid

关于带有构造函数 init 的 Javascript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18422505/

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