プロパティと関数を持つモジュールを作成しようとしています。これは、バリデータが成功した場合に 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
2 つの問題:
- 「machinegun.valid」にアクセスしようとすると、未定義が返されます
- build メソッドを使用して有効を定義すると、var valid が表示されます。
コンストラクターが最初に有効な変数を定義しなかったのはなぜですか?? ビルドメソッドで有効な変数を定義できるのはなぜですか???
javascriptがクラスでどのように機能するかわかりません...
すべてthnx!