私はこのjavascriptクラスを宣言しました:
var TablixColumns = function(){
this.g = 'wtf';
this.tablixColumns = []; //[];
return {
addTablixColumn: function(tablixColumn){
alert(this.g);
//this.tablixColumns.push(tablixColumn.getTablixColumn());
}
}
};
私の問題は、これを試してみるとalert(this.g)
、アラートが未定義で出てくるということです。もちろん、最初の関数定義は次のように読み取られます。this.tablixColumns.push(tablixColumn.getTablixColumn());
push
しかし、「未定義のメソッドはありません」のようなエラーが表示されます
奇妙なのは、次のクラス宣言があることです。
var TablixColumn = function(){
columnWidth = '<Width>3.135cm</Width>'; //default width value
return{
setColumnWidth: function(width){
this.columnWidth = '<Width>' + width + 'cm</Width>';
},
getTablixColumn: function(){
return '<TablixColumn>' + this.columnWidth + '</TablixColumn>';
}
}
};
そして、TablixColumn クラスは正常に動作します。はい、「this.」なしで this.g と this.tablixColumns を宣言しました。一部ですが、仕事を拒否しているだけです!今夜これがうまくいかなかったら誰かを殺すつもりです誰か助けてくれませんか?