导航

js封装对象——prototype的使用

Posted on 2013-08-08 22:05  tnjin  阅读(367)  评论(2)    收藏  举报

最近要做一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()