关于利用数组写成面向对象的讨论

迈克雷(MichaelRay) 2010-02-04 10:07:27
var user=[
{
name:"Michael",
age:"24",
sayHello:function(){
return 0
},
say:function(){
this.x=10;
this.y=20
},
sayBB:function(){
this.x=100;
this.y=200
},
user2:[{name:"jackson",age:"30"},{name:"jackson",age:"30"}]
},
{
name:"张雷"
}
]


这种写法可以用,但是觉得看起比较混乱。这种写法是属于正规写法,还是非正规?
...全文
90 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yixianggao 2010-02-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 michael51 的回复:]
我觉得用这种数组的形式,还不如用构造函数方式,显眼。
[/Quote]
这种写法缩进较多,不易阅读,最重要的是根本没有明确体现OO的核心价值,即没有类!

OO 的核心价值在于 Class,既然用 OO 就应该明确声明 Class,否则就不是 OO!
yixianggao 2010-02-04
  • 打赏
  • 举报
回复
JS 中有标准的 Class 定义格式!

function ClassName(p1v, p2v) {
this.P1Name = p1v;
this.P2Name = p2v;
}
ClassName.prototype.M1Name = function(params) {
...
};
ClassName.prototype.M2Name = function(params) {
...
};

var instance = new ClassName(v1, v2);
草根醉秋意 2010-02-04
  • 打赏
  • 举报
回复

var person = function(name,age){
this.name = name;
this.age = age;
}

person.prototype.say = function(){
alert(this.name);
}

var people = [new person("name1",10),new person("name2",20)];
HenJiong 2010-02-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 michael51 的回复:]
我觉得用这种数组的形式,还不如用构造函数方式,显眼。
[/Quote]

你喜欢用哪个就用哪个
  • 打赏
  • 举报
回复
我觉得用这种数组的形式,还不如用构造函数方式,显眼。
xcf007 2010-02-04
  • 打赏
  • 举报
回复
对象数组?
unicode 2010-02-04
  • 打赏
  • 举报
回复
我觉得是常规的
KK3K2005 2010-02-04
  • 打赏
  • 举报
回复
实现需求是第一目标 设计方式不是目的
浴火_凤凰 2010-02-04
  • 打赏
  • 举报
回复
这种方法挺好的,使用构造函数,那是你没有遇到this问题,等你遇到了
你就知道这种方法好了
xuetao121 2010-02-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yixianggao 的回复:]
引用 3 楼 michael51 的回复:
我觉得用这种数组的形式,还不如用构造函数方式,显眼。

这种写法缩进较多,不易阅读,最重要的是根本没有明确体现OO的核心价值,即没有类!

OO 的核心价值在于 Class,既然用 OO 就应该明确声明 Class,否则就不是 OO!
[/Quote]
同意

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧