关于javascript中创建对象的问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 08:01:37
关于js面向对象设计的问题请教:
----对象定义1----
var obj = function{
this.attr = '';
this.getAttr = function(){ alert(this.attr);}
}

----对象定义2----
var obj = function{
this.attr = '';
}
obj.prototype.getAttr = function{ alert(this.attr);}

请问以上两种创建getAttr的方法有何区别呢?哪个跟合理?

对象定义1:你把该方法写入对象之中
对象定义2:为对象新加入一个方法

区别:没有区别,一个是封装好了,一个是追加一个方法

合理:个人觉得,追加好点,可以重写,达到重载的目的

你的function写的不对,function后是有一对括号的,括号里是参数
所以浏览器根本不会理你的代码

在你加上括号之后,这两个方法中,第一个被称做特权方法
第二个方法是公共方法

定义一 是面向对象的编程思想
定义二 是面向过程的编程思想
区别 对javascript来说区别不大 对java来说就大了
合理性 你认为C 和 java那个好?那个就合理!