问一个性能方面的问题

wens
  • 245

在写公司的组件库,写到弹框的时候产生了一个问题

var alert = function(html){
    this.html = html
}
alert.prototype.show = function(){
    
}
alert.prototype.hide = function(){
    
}

var alert = {
    show: function(html){
    
    },
    hide: function(){
    
    }
}

因为大型页面可能会经常需要创建这样的弹窗,所以想问这两种方式哪个更好一些,比如占用内存等方面,还有想问下有没有关于写这种组件或者设计模式的书或文章推荐?

回复
阅读 1.8k
5 个回答

第一种写法是面向对象的写法,写了一个类,是可以多次实例化的,用var obj = new alert();即可,而第二种写法是直接写了一个实例。只能直接调用alert.show()和alert.hide();如果此弹窗在页面里面只有一个,用第二种,如果你写的是一个组件,要复用的话,用第一种,第二种写法在页面初始化的时候必须绑定好相应的事件,灵活性差一些。像你说的大型页面要经常创建这样的弹窗,当然用第一种比较合适。每次创建就是会实例化一个弹窗对象,要占新内存。推荐你看《JavaScript高级程序设计》这本书

第一种啊,第二种怎么复用?

第二种写法都是错误的..

第一种比较好

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏