jQuery OOP基础知识

前端之家收集整理的这篇文章主要介绍了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的调用委托给我们自己的构造函数对象。这只适用于方法,但这不应该是一个问题,因为你真的不应该有公共字段。

原文链接:https://www.f2er.com/jquery/182770.html

猜你在找的jQuery相关文章