var Card = YClass.extend({
// define Class Name
className:'Card',
// class level default options
config:{
id:'cardid',
container:'body', // id of container in which to render the user
render:false,
template: 'tmpl_card', // id of template used to render user
debug:false
},
setposition:function() {
var i=1;
var xpos=10;
var ypos=15;
var recvflag=false;
}
);
我如何通过Card.setposition();
调用设置位置函数但它给我的错误是setposition未定义 为什么??
答案 0 :(得分:2)
这不是一个真正的jQuery,它是一个YClass的东西。我不知道YClass是什么,但我的猜测是它定义了 classes ,然后你可以创建实例:
var c = new Card();
c.setposition();
这与Resig的“Simple JavaScript Inheritance”Class
内容,Prototype的Class
对象或系统describe here类似。
如果您只想要一个包含某些功能的容器,您可以直接执行此操作:
var Card = {
setposition: function() {
alert("Hi there!");
};
};
Card.setposition(); // alerts "Hi there!"
...但我猜你正在使用YClass。
答案 1 :(得分:1)
你应该这样打电话:
Card.prototype.setPosition();
为什么:
在 Class 的JavaScript属性(字段)中存储在 Class 。 prototype Object中。当创建 Class 的实例时,此实例具有 Class 中的属性。 prototype Object。这意味着当您调用 instance .method时,实例会调用 Class 。 prototype .method,它没有自己的实例。如果你想在没有实例化的情况下调用 Class 的方法,你应该直接从它的 prototype 对象调用。