使用原型(prototype)还是使用面向对象编程(OOP)来编写JavaScript代码,这值得吗?

30 浏览
0 Comments

使用原型(prototype)还是使用面向对象编程(OOP)来编写JavaScript代码,这值得吗?

我是一名开发者,使用原型框架和其在Javascript中的实现已有一段时间了。我也使用过jQuery和其他一些框架。我一直在研究Javascript的工作原理以及它与面向对象编程的不同之处,因为它是一种基于原型的语言。我认为基于原型的语言实际上是一个很好的概念。

在正确的关注下,它是如何使用的,因此更快、更高效,理论上更简单、更流畅。

每个浏览器都有自己的Javascript实现方式,有时很难让简洁的代码在所有浏览器中运行,或者至少是大多数浏览器。

通常,那些面向对象的框架(dojo.declare()、Js.Class、MooTools等)非常适合做好工作,而且它们是跨浏览器的。

我不禁想知道,使用基于原型的Javascript开始制作RIA是否值得?还是应该选择Dojo.declare()、js.class或类似的框架?

0
0 Comments

在过去的一年中,我一直在一个RIA项目中使用prototype.js。我不习惯你所提到的那些库,但我使用jQuery。在学会如何使用prototype.js之后,我就避免使用jQuery了。我能够使用prototype.js做任何事情,特别是当作用域真的很重要的时候,prototype.js以一种非常漂亮的方式处理它。在任何其他库中都找不到prototype提供的绑定方法的替代品。它非常非常有用。我建议你放心地选择prototype.js..它很酷,而且非常容易处理。

原因:根据作者的经验,使用prototype.js能够很好地处理作用域问题,并且提供了其他库中没有的有用方法。

解决方法:作者建议使用prototype.js来替代其他库,因为它能够满足他的需求,并且使用起来很简单。

0
0 Comments

在JavaScript中,是否值得使用原型(prototype)或者是否应该使用面向对象编程(OOP)?这个问题的出现是因为有些人认为JavaScript不适合使用OOP,而另一些人则认为应该使用OOP。

有人认为JavaScript可以使用OOP,他们认为可以使用类(class)、继承(inheritance)和多态(polymorphism)等OOP的概念。例如,他们提到了使用ExtJS库来提供类、鼓励子类化,并提供了一个良好定义的类层次结构的例子。还某些情况下了Douglas Crockford提供的示例,演示了如何将成员数据和成员函数设置为私有。他们还提到了很多人使用JavaScript的原型作为实现继承的工具,可以参考Douglas Crockford的文章。另外,由于JavaScript不是强类型的,所以多态很容易实现。

另外,很多流行的JavaScript库会抽象化浏览器之间的差异,因此在使用这些库时,你可能不需要在代码中加入很多条件判断语句来处理不同浏览器的差异。

对于JavaScript的OOP,还有一些其他的资源可以参考。

总之,JavaScript可以使用OOP,可以选择使用一些流行的JavaScript库来简化开发,同时使用调试工具来测试代码在各个主要浏览器上的兼容性。对于原型的使用,你可能需要花费一些时间来理解其细节,但通常情况下并不需要过多关注原型。

代码示例:

// 使用原型创建一个类
function Person(name) {
  this.name = name;
}
Person.prototype.sayHello = function() {
  console.log('Hello, my name is ' + this.name);
}
// 使用类创建对象
var person1 = new Person('Alice');
var person2 = new Person('Bob');
person1.sayHello(); // 输出:Hello, my name is Alice
person2.sayHello(); // 输出:Hello, my name is Bob

以上就是关于在JavaScript中是否值得使用原型或者应该使用OOP的讨论。无论选择哪种方式,都可以根据个人偏好和具体需求来决定。希望这些讨论对你有帮助!

0