改进John Resig';s的JavaScript类框架

改进John Resig';s的JavaScript类框架,javascript,javascript-framework,Javascript,Javascript Framework,大家好 我最近一直在寻找一个简单的JavaScript类框架,它只做基本的继承。我在他的博客上找到了它,我觉得它非常满足我的需要。然而,这篇文章是从2008年开始的,毕竟,这是我们正在谈论的网络 所以我的问题是,你们会像现在这样使用这个系统,还是会改进这些年来发现的东西?或者是一个现有的、主动支持的类框架,类似于这个 谢谢。的同事们在创建基于John Resigs的框架方面做了大量工作示例: 类提供模拟继承 在JavaScript中。使用clss桥接 jQuery的函数 编程风格与面向对象 编程

大家好

我最近一直在寻找一个简单的JavaScript类框架,它只做基本的继承。我在他的博客上找到了它,我觉得它非常满足我的需要。然而,这篇文章是从2008年开始的,毕竟,这是我们正在谈论的网络

所以我的问题是,你们会像现在这样使用这个系统,还是会改进这些年来发现的东西?或者是一个现有的、主动支持的类框架,类似于这个

谢谢。

的同事们在创建基于John Resigs的框架方面做了大量工作示例:

类提供模拟继承 在JavaScript中。使用clss桥接 jQuery的函数 编程风格与面向对象 编程。它是以约翰为原型的 Resig的简单类继承 图书馆。除了原型 继承,它包括一些 重要特点:

Static inheritance
Introspection
Namespaces
Setup and initialization methods
Easy callback function creation
框架的所有其他部分都基于类,但您也可以单独使用它(压缩小于6Kb)。我特别喜欢回调函数和静态继承。像这样使用它:

$.Class.extend('My.Class',
{
    // Static properties
},
{
    init : function(args)
    {
            // This is the constructor
    },

    classMethod : function()
    {
        alert("Class method called.");
    }
});

你可能想听听道格拉斯·克罗克福德(Douglas Crockford)的建议(我的重点):

我写JavaScript已经8年了,我从来没有发现需要使用uber函数我现在认为我早期尝试支持JavaScript中的经典模型是一个错误


Douglas Crockford,

您可以查看John Resig类模型的扩展版本:


它仍然基于原型构建,但也使用闭包提供私有成员。

。JavaScript有自己的习惯用法,而“移植”于经典继承实际上不过是一根拐杖。。。该语言有自己的重用模式和功能,可以很好地工作。(但是,如果我打算采用一种经典的继承模式,Resig的仍然是一种好的模式)。嗯,我认为一个大问题是这些“自己的习惯用法”往往不是理解得很好,就是实现得很差。给出一个熟悉的框架(例如,经典的OO继承)可以使转换更加容易(参见Scala)。有拐杖仍然比爬行要好。Daff-但是一旦实现基于类的模式的错误被发现,可能会有很多代码需要修复。Javascript继承并不难学,只是需要一个开放的思维。请注意,Resig预定于2008年秋季(9月?)出版的书尚未出版,其书名似乎是一本较为朴素的“JavaScript的秘密”。也许Resig也在质疑javascript中基于类的继承的有用性。我真的不明白这一点。你们是说应该用原型遗传来代替?但是,您如何引用父类呢?我认为克罗克福德在结尾关于“超级”的评论可能与某些事情有关,但我现在感到困惑。如果你愿意,你可以崇拜道格拉斯·克罗克福德。我设计web应用程序已经12年了,我发现在JS中模拟经典继承非常简单,并且可以生成更干净、更可测试的代码。你能告诉我在哪里可以找到这个定义吗?这听起来很有希望