2012-03-29 68 views
-2

是否有超类或类似javascript的语言,提供更经典的C++/java/c#类OO系统。但是可以与HTML-5和DOM一起使用并且具有跨平台的实现?面向Javascript的OOP解决方案?

+2

CoffeeScript?这显然会被编译成JS。 – Aliostad 2012-03-29 11:22:52

+7

你如何不再懒惰,而是学习新的编程范例。 JS是基于原型的面向对象语言,而不是基于类。对程序员来说,这是一种耻辱,要求*“我可以让X语言像Y语言一样吗?”*。 – 2012-03-29 11:22:56

+0

@tereško_sigh_。我只是想做一个小的HTML-5画布演示。猜猜这没有捷径。我将不得不花两天的时间学习基于原型的OOP来做15分钟的演示。 :( – ApprenticeHacker 2012-03-29 11:28:06

回答

1

是的,这就是所谓的JavaScript。有一些很好的articles about OOP around

var Parent = { 
    method: function() { 
    ... 
    } 
} 

var Child = Object.create(Parent, { 
    childMethod: { value: function() { 
    ... 
    } } 
}) 

任何试图在JavaScript中模拟类系统是在浪费时间和结束写臃肿/不可读/不可维护的代码。

如果上面的太丑陋了,请考虑使用extend function

4

你可以给CoffeeScript一试。

它编译成JavaScript,所以它确实是跨平台的。

至于脚本而言,它也使用HTML5标签兼容,但它不是一个真正的问题:是HTML的标记语言,JavaScript的(或者CoffeeScript的)是脚本语言。因此,您仍然可以使用CoffeeScript选择或编辑(HTML5)元素;该脚本将被编译为JavaScript,并且仍然可以工作。

+1

应该指出的是,CoffeeScript有一系列的系列问题,需要一个受过教育的关于是否值得使用 – Raynos 2012-03-29 11:26:32

1

除了建议学习的CoffeeScript上面,你可以尝试一对夫妇JavaScript的模式。

我最近看一个pluralsight截屏(结构javascript代码),我还了解到了几个JavaScript的模式,但我真的很喜欢“揭示原型模式”。

非常简洁明了,你会得到一些OOP的封装,包括等人的好处。

Pluralsight提供免费10天的试用期,所以我想你可以很容易地得到了它的速度。

+0

A“揭示原型模式”的决定很可能是对性能不好 – Raynos 2012-03-29 11:32:45

+0

@Raynos我不知道肯定,但教师明确表示,该模式是高效的性能明智的。而我只是尝试了一些简单的东西,所以我不能要求任何东西。 – scartag 2012-03-29 11:34:11

+0

如果它包含在构造函数内部创建闭包,那么他就性能效率撒谎 – Raynos 2012-03-29 11:36:53

相关问题