首先尝试JavaScript原型
在涉及JavaScript原型的地方,我的脚刚刚湿了,我遇到了一些麻烦 我需要从一个基于原型对象的系统的首先尝试JavaScript原型,javascript,prototype,Javascript,Prototype,在涉及JavaScript原型的地方,我的脚刚刚湿了,我遇到了一些麻烦 我需要从一个基于原型对象的系统的LEAVE原型创建一个\u LEAVE对象。\u LEAVE对象有一个名为Ready的函数,该函数应在文档准备就绪时启动。该系统在一些较旧的代码中已经具有类似的功能,我正在努力保持它的统一性 下面是我正在尝试的代码,但我一直收到一个错误: var LEAVE = function () { } $(document).ready(function () { _LEAVE.Ready
LEAVE
原型创建一个\u LEAVE
对象。\u LEAVE
对象有一个名为Ready
的函数,该函数应在文档准备就绪时启动。该系统在一些较旧的代码中已经具有类似的功能,我正在努力保持它的统一性
下面是我正在尝试的代码,但我一直收到一个错误:
var LEAVE = function () {
}
$(document).ready(function () {
_LEAVE.Ready();
});
var _LEAVE = function (params) {
this.Ready = function () {
alert ("Leave Ready");
};
}
_LEAVE.prototype = new LEAVE();
错误:
SCRIPT438:对象不支持属性或方法“Ready”
Left.js,第6行第5个字符
我不确定自己哪里出了问题,因为这似乎是系统其他部分正在发生的事情。至少,类似的事情正在发生,但我正努力将我的思想围绕在旧代码上
如果有人能给我任何建议,我将不胜感激!:-) 我不确定是否正确理解了您,但您是否正在尝试创建
LEAVE
对象的实例?如果是这样,LEAVE
需要是一个构造函数,Ready
应该是原型上的一个方法:
var LEAVE = function () {};
LEAVE.prototype.Ready = function () {
alert("Leave Ready");
};
现在,您可以通过使用new
操作符调用构造函数来实例化LEAVE
:
var _LEAVE = new LEAVE(); // _LEAVE is an instance of LEAVE
$(document).ready(function () {
_LEAVE.Ready(); // Ready is a method of `LEAVE.prototype`
});
声明为prototype
对象属性的方法由所有实例共享。因此,LEAVE
的所有实例都将有一个可用的.Ready
方法,但它们将共享内存中函数的一个副本(分配给LEAVE.prototype
属性的副本)。我不确定是否正确理解了您的意思,但是您是否正在尝试创建LEAVE
对象的实例?如果是这样,LEAVE
需要是一个构造函数,Ready
应该是原型上的一个方法:
var LEAVE = function () {};
LEAVE.prototype.Ready = function () {
alert("Leave Ready");
};
现在,您可以通过使用new
操作符调用构造函数来实例化LEAVE
:
var _LEAVE = new LEAVE(); // _LEAVE is an instance of LEAVE
$(document).ready(function () {
_LEAVE.Ready(); // Ready is a method of `LEAVE.prototype`
});
声明为prototype
对象属性的方法由所有实例共享。因此,LEAVE
的所有实例都将有一个可用的.Ready
方法,但它们将共享内存中函数的一个副本(分配给LEAVE.prototype
属性的副本)。您在这里所做的只是从父LEAVE函数继承了子LEAVE函数。但是如果你想在子类中调用一个方法,你需要创建它的一个实例。所以你需要创建一个_LEAVE类的实例。只需添加这一行:
var_LEAVE_OBJECT=new_LEAVE()强>
并使用\u LEAVE\u OBJECT.Ready()代替_LEAVE.Ready();美元(文档)。准备好了
修改代码:
var LEAVE = function () {
}
$(document).ready(function () {
_LEAVE_OBJECT.Ready();
});
var _LEAVE = function (params) {
this.Ready = function () {
alert ("Leave Ready");
};
}
_LEAVE.prototype = new LEAVE();
var _LEAVE_OBJECT = new _LEAVE();
您在这里所做的只是从父休假函数继承了子休假函数。但是如果你想在子类中调用一个方法,你需要创建它的一个实例。所以你需要创建一个_LEAVE类的实例。只需添加这一行:
var_LEAVE_OBJECT=new_LEAVE()强>
并使用\u LEAVE\u OBJECT.Ready()代替_LEAVE.Ready();美元(文档)。准备好了
修改代码:
var LEAVE = function () {
}
$(document).ready(function () {
_LEAVE_OBJECT.Ready();
});
var _LEAVE = function (params) {
this.Ready = function () {
alert ("Leave Ready");
};
}
_LEAVE.prototype = new LEAVE();
var _LEAVE_OBJECT = new _LEAVE();
看起来您对JS中原型是如何工作的还不是很了解。不过你有点接近了。我相信很快就会有人给你正确的答案,但与此同时,看看这个关于原型的快速图坦卡蒙:看起来你还不太了解原型在JS中是如何工作的。不过你有点接近了。我相信很快就会有人给你正确的答案,但与此同时,看看这个关于原型的快速图坦卡门:如果你发现上面的代码对你有用,请把它标记为有用。因为我甚至没有将一个问题标记为有用:)如果你发现上面的代码对你有用,请将它标记为有用。因为我甚至不认为一个问题有用:)