ですから、私は自分のWebアプリをOOPベースに変換しようとしています。それが、最初にプログラミングを学んだ方法だからです。すべての関数とすべてを定義しましたが、問題が発生しています。
index.phpで、スクリプトタグを開き、オブジェクト関数を作成するとします。
<script type="text/javascript">
function myObject(_string){
this.string = _string;
this.get_string = function(){
return this.string;
}
}
</script>
大したことはありません。
今私がそれを呼ぶならば、私がこれをするならばそれはうまく働きます:
var my_object = new myObject("this is a string");
console.log(my_object.get_string) // logs "this is a string"
しかし、それをdomReadyでラップすると、オブジェクトは作成されず、my_objectを呼び出すと参照エラーが返されます。
$(document).ready(function() {
var my_object = new myObject("this is a string");
console.log(my_object); // returns reference error
});
オブジェクト内に関数を埋め込んで呼び出そうとすると、同じ問題が発生します。
<script type="text/javascript">
function myObject(_string){
this.string = _string;
this.get_string = function(){
return this.string;
}
this.set_string = function(new_string){
this.string = new_string;
}
}
my_object = new myObject("this is a string");
my_object.set_string("this is a new string"); // returns reference error
my_object.set_string() // Returns reference error
my_object.set_string // returns a string containing the function
</script>
これについて真剣に混乱しています。誰か助けてもらえますか?