js封装对象——prototype的使用

最近要做一js的控件,因为同一页面会加载好多个这种控件,并分别对不同的内容进行控制,为了不全篇复制粘贴,我想要将这个控件做成一个js的对象形式,因为从来没写过,所以就网络一下,总算整理出来了。

这里不说我那个控件,用一个别的例子。

最一开始,我写的是这样的:

var tool=function(){};
tool.prototype={
    initialize:function(div){this._div=div;
                }
            }

我以为在调用new的时候是可以初始化的,即调用initialize函数:

var temp=new tool('testDiv')

结果不是,折腾了好久,才发现initialize函数根本就不会在new的时候执行,坑爹啊!!

正确的写法应该是这样:在声明tool时的函数就是构造函数——原谅我这么称呼吧,我不知道该怎

么称呼它——这里面负责初始化一些变量,然后prototype里才是公有的函数:

var tool=function(div){this._div=div;
                };
tool.prototype={
        doSth:function(){
            alert(this._div);
        }
    }

这样就可以正常调用了:

var temp=new tool('aaa');
temp.doSth()

 

 

 

转载于:https://my.oschina.net/tnjin/blog/625547

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值