改进John Resig';s的JavaScript类框架
大家好 我最近一直在寻找一个简单的JavaScript类框架,它只做基本的继承。我在他的博客上找到了它,我觉得它非常满足我的需要。然而,这篇文章是从2008年开始的,毕竟,这是我们正在谈论的网络 所以我的问题是,你们会像现在这样使用这个系统,还是会改进这些年来发现的东西?或者是一个现有的、主动支持的类框架,类似于这个 谢谢。的同事们在创建基于John Resigs的框架方面做了大量工作示例: 类提供模拟继承 在JavaScript中。使用clss桥接 jQuery的函数 编程风格与面向对象 编程。它是以约翰为原型的 Resig的简单类继承 图书馆。除了原型 继承,它包括一些 重要特点:改进John Resig';s的JavaScript类框架,javascript,javascript-framework,Javascript,Javascript Framework,大家好 我最近一直在寻找一个简单的JavaScript类框架,它只做基本的继承。我在他的博客上找到了它,我觉得它非常满足我的需要。然而,这篇文章是从2008年开始的,毕竟,这是我们正在谈论的网络 所以我的问题是,你们会像现在这样使用这个系统,还是会改进这些年来发现的东西?或者是一个现有的、主动支持的类框架,类似于这个 谢谢。的同事们在创建基于John Resigs的框架方面做了大量工作示例: 类提供模拟继承 在JavaScript中。使用clss桥接 jQuery的函数 编程风格与面向对象 编程
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中模拟经典继承非常简单,并且可以生成更干净、更可测试的代码。你能告诉我在哪里可以找到这个定义吗?这听起来很有希望