javascript创建对象的方法--组合模式
2024-08-31 16:02:11
javascript创建对象的方法--组合模式
一、总结
0、作用:解决原型模式对象独有属性创建麻烦的问题
1、组合模式使用普遍:jquery就是用的组合模式,组合模式使用非常普遍
2、组合模式优点:a、支持传参 b、 解决内存浪费(共用的函数和属性用原型方式,非共用的的函数和属性用构造函数的方式)
3、组合模式的实现:共用的函数和属性用原型方式,非共用的的函数和属性用构造函数的方式
二、javascript创建对象的方法--组合模式
构造函数和原型组合模式
这是目前最为常用的创建对象的方式。
这种概念非常简单,即用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)。结果是,所有函数都只创建一次,而每个对象都具有自己的对象属性实例。
此外,组合模式还支持向构造函数传递参数,可谓是集两家之所长。
在所接触的JS库中,jQuery类型的封装就是使用组合模式来实例的!!!
三、代码
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>课堂演示</title>
</head>
<body>
<script>
function Monster(){}
Monster.prototype={
constructor: Monster,
name:'喽啰',
job:['巡山','打更'],
run:function() {return this.name+'的工作是'+this.job }
}
//构造函数和原型组合模式
function Monster(name,arr){//非共用
constructor: Monster,
this.name=name
this.job=arr
}
Monster.prototype={//共用
run:function() {return this.name+'的工作是'+this.job }
}
var monsterI=new Monster('小旋风',['巡山','打更','砍柴'])
var monsterII=new Monster('小钻风',['巡山','打更','挑水'])
alert(monsterI.run())
alert(monsterII.run())
</script>
</body>
</html>
1、组合模式的实现:共用的函数和属性用原型方式,非共用的的函数和属性用构造函数的方式
2、this关键字:因为传参,所以this关键字
3、原型中可以调用对象的非共用属性:原型中可以调用对象的非共用属性,用this关键字
4、函数的定义和使用还是和之前一样
5、原型方式:对象名.prototype={}
6、构造器方式:constructor: Monster,
7、对比:注意组合模式和原型模式的对比
最新文章
- jdbc java数据库连接 2)jdbc接口核心的API
- ZeroMQ接口函数之 :zmq_close - 关闭ZMQ socket
- Java——文件选择框:JFileChooser
- ☀【JS】检测属性
- Java静态变量,常量,成员变量,局部变量
- MVC中的UrlHelper
- ipcs, ipcrm 命令
- C# 酒鬼买酒喝,瓶盖和空瓶子可以换新的酒
- BZOJ 1660: [Usaco2006 Nov]Bad Hair Day 乱发节( 单调栈 )
- JSP 初始化参数
- Github Page+Bmob实现简单动态功能
- ANT不完全总结,包含各种命令,ant例子等,转自:http://lavasoft.blog.51cto.com/62575/87306
- [dev] Go的协程切换问题
- 锋利的jQuery初学(5)
- 【转】python 退出程序的方式
- element组件知识点总结
- 浏览器与go语言的websocket通信
- Linux获得命令帮助(学习笔记五)
- 【java】 java设计模式(3):单例模式(Singleton)
- 20155323 2016-2017-2 《Java程序设计》第10周学习总结