所以我试图将我的网络应用程序转换为基于 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>
对此感到非常困惑。任何人都可以帮忙吗?