JavaScript之创建对象的方式
来源:互联网 发布:名片设计模板软件下载 编辑:程序博客网 时间:2024/05/29 17:54
方式一(单体模式):
var Tom = { //单体模式 name:'tom', age:'18', showName:function () { alert(this.name) }, showAge:function () { alert(this.age) } }; Tom.showAge(); Tom.showName();
方式二(工厂模式):
//工厂模式 function Person(name,age,job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.showName = function () { alert(this.name) }; return o } var Tom = Person('tom',18,'pythoner'); Tom.showName()
方式三(构造函数):
//构造函数 function Person(name,age,job) { this.name = name; this.age = age; this.job = job; this.showName = function () { alert(this.name) } } var Tom = new Person('tom',18,'pythoner'); Tom.showName();
不共享方法,造成资源浪费
方式四(原型模式):
//原型模式 function Person(name,age,job) { this.name = name; this.age = age; this.job = job } Person.prototype.showName = function () { alert(this.name) }; var Tom = new Person('tom',18,'pythoner'); Tom.showName();
共享同一个方法,可以自己重写
JS继承
//继承 function Superclass(name,age) { this.name = name; this.age = age; } Superclass.prototype.showName = function () { alert(this.name) }; //属性继承通过call或者apply去实现 function Subclass(name,age,job) { Superclass.call(this,name,age); this.job = job; } //方法继承通过父类的一个实例对象赋值给子类的原型属性 Subclass.prototype = new Superclass(); Subclass.prototype.showName = function () { alert(this.name) }; var Tom = new Subclass('tom',18,'pythoner'); Tom.showName();
call与apply的作用与区别:
都可以改变this指代的对象,参数传入方式不同,call(this,a,b),apply(this,[a,b])。
阅读全文
0 0
- JavaScript之创建对象的方式
- JavaScript 创建对象的方式
- JavaScript对象的创建方式
- JavaScript创建对象的方式
- JavaScript创建对象的方式
- JavaScript创建对象的方式
- JavaScript对象的创建方式
- javascript创建对象的方式
- JavaScript创建对象的方式
- javascript之创建对象的多种方式以及优缺点
- javascript对象创建方式
- javascript对象创建方式
- Javascript创建对象的两种方式
- JavaScript 创建对象的几种方式
- JavaScript创建对象的几种方式
- Javascript创建对象的几种方式
- javascript的四种创建对象方式
- javascript创建对象的几种方式
- 缩点+树上差分——Codeforces555E Case of Computer Network
- C语言最大的乘积问题
- 51 Nod(1459 迷宫游戏)(dijkstra)
- angular之service
- ajax传值
- JavaScript之创建对象的方式
- 【noip 2010】关押罪犯
- Swift -> Java
- Java菜鸟入门First project
- Python模块常用的几种安装方式
- perl中的元字符
- angular之寻找数据
- 【数学】51Nod 1421 最大MOD值
- angular之设置屏蔽字