因此,我試圖將我的web應用程序轉換爲基於OOP的應用程序,因爲這是我首先學會編程的方式。我有我的所有功能和一切定義,但我遇到了一個問題。OOP Javascript - 參考錯誤
讓我們在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>
對此非常困惑。誰能幫忙?
使用'的ToString()'代替。 – Brad
你可以做一個JSFiddle(http://jsfiddle.net)?你的第一個例子,你聲稱爲你工作,實際上並不工作。 –