让javascript也玩得起对象
来源:互联网 发布:linux ln fs 编辑:程序博客网 时间:2024/05/06 17:24
有一家母猪要生产一头猪,首相我们不考虑母猪是一个对象,就想成有一头母猪要生产一个对象,这个对象是一头小猪,我们可以使用工厂模式
如下:
function bigPic(){ var samllPic = new Object(); samllPic.name = "sbgdg"; return samllPic;}samllPic = bigPic();console.log(samllPic.name); //sbgdg
这里使用一个叫作bigPic的函数来产一个小猪,在函数的内部有一个变量samllPic来引用一个新创建的对象,给这个对象设置name属性,叫"sbgdg"。最后用return来返回这个引用,实际就是这个叫bigPic的函数返回的不是别的,而是一个对象的引用。执行完函数,局部变量samllPic被撤销,返回的对象引用赋值给全全局变量samllPic。
第一个samllPic和第二个samllPic是不一样的,这个首先想到。
有一个缺点就是得到一个小猪,但我们不知道母猪的信息,也就是类的信息,单单一个函数绝不能满足我们的需要,接着下一个模式出现了构造模式
构造模式很好解决了对象和类之间的关系
//构造模式function BigPig(){ this.name = "ssqwgkg"; this.samllPig = null; this.makePic = function(name){ this.samllPig = new SamllPig(name); }}function SamllPig(name){ this.name = name;}var bigPig = new BigPig();bigPig.makePig("sbgdg");console.log(bigPig.name); //ssqwgkgconsole.log(samllPig.name);//sbgdg
可以看到这次和上面的不同,这里我们把母猪作为一个类,实例化一头母猪,在母猪的内部立生一头小猪
母猪的实例对象bigPig执行一个makePig的方法,则对象有一个属性samllPic是等于new SamllPig(name),这个时候又实例化了一个SamllPic这个类,把小猪作为属性赋予给母猪实例(大家都知道小猪永远都是母猪的)
每一个实例化的对象都有一个constructor属性就是指向各自的类名
console.log(bigPig.constructor==BigPig);//trueconsole.log(bigPig.samllPig==SamllPig); //true
来有一个检测一个对象是否是一个类的实例的关键字,就是 instanceof
console.log(bigPig instanceof BigPig);//trueconsole.log(bigPig.samllPig instanceof SamllPig); //true
- 让javascript也玩得起对象
- javascript也玩pageLoad
- JavaScript对象也玩序列化和反序列化
- JavaScript对象也玩序列化和反序列化
- JavaScript对象也玩序列化和反序列化
- JavaScript对象也玩序列化和反序列化
- JS也玩面向对象
- 赢得起,也输得起
- 人防听歌或工本费v玩得起我让他委员会今日特我企鹅他跟我
- 创客是一种信仰:玩得起,才能创新
- JAVASCRIPT也可以面向对象
- JAVASCRIPT也可以面向对象
- 如何让javascript也支持多语言
- 俺都是过去我的钱玩得起
- javascript也玩php的var_dump查看变量内容
- javascript也玩php的var_dump查看变量内容
- 看印度如何让穷人上得起大学
- JavaScript Memoization:让函数也有记忆功能
- C++注意事项
- 公司培训之户外拓展
- 关于Oracle11g数据库链接sql server 通明网关配置
- 面试中的斐波拉契数列
- CODE CSDN Git 配制方法介绍
- 让javascript也玩得起对象
- Struts2 实现文件上传《转载》
- iOS: NSKeyedArchiver的方法outputFormat
- 给结构整体赋值(c语言实现)
- 关于java swing的学习
- Python获得命令行参数
- 求背包方案总数,最优背包方案数
- C语言键盘按键无阻塞侦测:kbhit()
- Shell之执行上一条命令[!]——如何快速匹配执行上一条命令