js面向对象 不懂为什么要init进行初始化

[求助] js面向对象 不懂为什么要init进行初始化 

[复制链接]
   
跳转到指定楼层
楼主
  发表于 2013-7-3 09:50:38  |  只看该作者  回帖奖励
1,什么时候需要这么写?
2,一般把哪些方法放进init里面?
3,直接在构造函数里面放属性,原型里面放方法 ,貌似也能写好代码。
请各位给我指点下。
 
   
沙发2#
  发表于 2013-7-3 10:14:29  |  只看该作者
举个栗子:
function Test(){}
Test.prototype.init = function(){}

如果要创建一个Test的实例,并调用init方法,那最普通的做法是:
var test = new Test();
test.init();

这样做也没错,我们的想法是它创建的时候其实就是在做初始化的工作,那干脆就简化它,在new的时候就让他直接自动调用init方法,省去再次手动调用,所以一般都会写成如下形式:
function Test(){
this.init.apply(this, arguments);
}

在init方法里面一般是做一些事件绑定,界面初始化的工作。

第三个问题期待楼下说说。
 
 
   
藤椅3#
  楼主 |  发表于 2013-7-4 09:17:53  |  只看该作者  | 楼主
谢谢楼上的解答
论坛里的哥们,都再给我说下啊
 
 
   
板凳4#
  发表于 2013-7-4 14:14:52  |  只看该作者
本帖最后由 abaddonpoet 于 2013-7-4 14:16 编辑

以我的理解,应该是降低耦合性,程序比较大的时候可以分工进行。init做1个总的控制器
 
 
   
报纸5#
  楼主 |  发表于 2013-7-5 09:40:07  |  只看该作者  | 楼主
abaddonpoet 发表于 2013-7-4 14:14 
以我的理解,应该是降低耦合性,程序比较大的时候可以分工进行。init做1个总的控制器

比较符合 我的理解 ,那其他兄弟们都是这样的理解吗
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值