jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery OOP基础知识大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想开始开发jQuery游戏,所以我需要学习jQuery OOP。我有一些(足够)的经验与C OOP(开发了一些游戏)。

我知道我可以用jQuery“对象”来替换C“类”,但是我不知道它是如何工作的。

jQuery还有更高级的“选项”像C? (抽象类/对象,不透明等)

你能解释一下吗? (或给我链接到一些好的JavaScript OOP教程)。

解决方法

JavaScript中的OOP编程可以通过多种方式完成。周围有很多模式。

我会给你两个,一个实现对象继承和一个对象组合的实现。

这和jQuery绝对没有任何关系。 jQuery应该用于DOM操作和事件处理。你不应该使用基于jQuery对象的核心对象和构造函数。在一个游戏中,jQuery的作用是读取键盘输入并可选地将图形渲染到DOM中(如果由于某种原因不使用< canvas>)。

Live example

遗产

var Constructor = function(Name) {
    this.name = name
};

Constructor.prototype.mymethod = function() {
    alert("my name is : " + this.Name);
};

var obj = new Constructor("foo");
obj.mymethod(); // my name is : foo

这里定义了一个可以调用来创建一个新对象的构造函数。你用这个引用构造函数中的对象。

您可以将(静态)方法和变量添加到将由对象继承的构造函数的原型中。

function inherits(child,parent) {
    var f = new Function;
    f.prototype = parent.prototype;
    f.prototype.constructor = parent;
    child.prototype = new f;
    child.prototype.constructor = child;
}

您可以使用一个继承函数,该函数将构造函数的原型设置为不同构造函数的实例。这意味着该父对象的所有方法属性都可用于子对象

var SecondConstructor = function(Name) {
    this.name = name + "bar";
};
inherits(SecondConstructor,Constructor);
var obj = new SecondConstructor("foo");
obj.mymethod(); // my name is : foobar

这是JavaScripts的原型继承。基本上你将一个函数的原型设置为一个特定的对象。然后当您使用功能创建对象时,这些对象实现原型。

组成

使用原型实际上并不是必需的,您也可以使用对象组合。这种方法确实需要很好地理解你可以阅读的关于elsewhere的这个状态。

我要作弊,把一些乏味的帮手功能委托给underscore.js

var Constructor = function(Name) {
    this.name = name;

    this.mymethod = function() {
        alert("my name is : " + this.Name);
    };
};

var SecondConstructor = function(Name) {
    var constructor = new Constructor(name + "bar");
    _.bindAll(constructor);
    _.extend(this,{
        "mymethod": constructor.mymethod
    });
};

var obj = new SecondConstructor("foo");
obj.mymethod();

这里SecondConstructor为自己创建一个构造函数的实例,而不是继承自己。然后,将该引用绑定到该构造函数对象的所有方法上,以便我们可以将mymethod的调用委托给我们自己的构造函数对象。这只适用于方法,但这不应该是一个问题,因为你真的不应该有公共字段

大佬总结

以上是大佬教程为你收集整理的jQuery OOP基础知识全部内容,希望文章能够帮你解决jQuery OOP基础知识所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。