var NewClass = {}和var NewClass = Class.create()的区别

PCzhangtl 2010-01-14 09:34:47
最近在看一些javascript代码, 利用到prototype.js。
有像下面的创建类的方式。
var NewClass = {}和var NewClass = Class.create()。
然后接着是NewClass.prototype的定义,
这两种创建类的方式有什么区别。
...全文
78 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
打字员 2010-01-16
  • 打赏
  • 举报
回复

var Class =
{
create: function()
{
return function()
{
this.initialize.apply(this, arguments);
}
}
}


方法create返回的是什么?

this指的是什么?

apply怎么用?

initialize是什么?(其实它可以是任何符合命名规范的一串字符)

最后:var NewClass = Class.create(),这样创建类之后,这个类属于那种模式?
licip 2010-01-16
  • 打赏
  • 举报
回复
我觉得1楼的回答是很对的,还有就是NewClass.prototype是原型对象,用它可以用来完成继承,扩张方法等等。
PCzhangtl 2010-01-16
  • 打赏
  • 举报
回复
希望能再看到一些好的回复。
jiewenxu 2010-01-14
  • 打赏
  • 举报
回复
var NewClass = {};
定义的是一个JSON对象。不包含任何数据,所以也可以看成是一个不包含任何方法和属性的原型对象

var NewClass = Class.create();
这样产生的对象则对基本方法和属性做了扩展。比如bind方法等,模拟了很多高级语言中对象的基本方法。
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-01-14 09:34
社区公告
暂无公告