博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript对象的几种创建方式
阅读量:6676 次
发布时间:2019-06-25

本文共 1229 字,大约阅读时间需要 4 分钟。

1.使用工厂模式创建对象

function createPerson(name,age,job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function(){  alert(this.name);  }; return o; }var person1 = createPerson('Nike',29,'teacher');var person2 = createPerson('Arvin',20,'student');

2.使用构造函数创建对象

function Person(name,age,job){ this.name = name; this.age = age; this.job = job; this.sayName = function(){ alert(this.name); }; }var person1 = new Person('Nike',29,'teacher');var person2 = new Person('Arvin',20,'student');

3.原型模式创建对象

function Person(){}Person.prototype.name = 'Nike';Person.prototype.age = 20;Person.prototype.jbo = 'teacher';Person.prototype.sayName = function(){ alert(this.name);};var person1 = new Person();person1.sayName();

4.混合构造和原型模式

function Person(name,age,job){ this.name =name; this.age = age; this.job = job;}Person.prototype = { constructor:Person, sayName: function(){ alert(this.name); };}var person1 = new Person('Nike',20,'teacher');

5.动态原型模式

function Person(name,age,job){    this.name=name;    this.age=age;    this.job=job;    if(typeof this.sayName!="function"){        Person.prototype.sayName=function(){            alert(this.name);        };    }}

 

转载于:https://www.cnblogs.com/Jessical8619/p/8527936.html

你可能感兴趣的文章
Extjs5项目进行中:打开新面板并加载数据(三)
查看>>
2012年8月14日 星期二 equals()方法 (冲突备份)
查看>>
20本最好的Linux免费书籍-转
查看>>
敏捷开发的艺术---第一章
查看>>
jQUery事件
查看>>
测试及等等
查看>>
JAVACard 基本数据类型的运算及溢出问题
查看>>
通过Python来操作kylin
查看>>
代码逻辑题之继承-静态代码块-main方法执行顺序
查看>>
c# 判断文件是否发生了变化
查看>>
Remove menucool tooltip trial version
查看>>
模板 数据结构
查看>>
【Search a 2D Matrix】cpp
查看>>
POJ 1741 Tree(树的点分治,入门题)
查看>>
Opencv3.1.0 & Win10/Win7 64位 contrib编译
查看>>
MPMoviePlayerController播放远程视频存在问题
查看>>
List/Vector
查看>>
黄聪:FFmpeg 使用指南
查看>>
能否不同udp socket绑定到同一IP地址和port
查看>>
C#:CodeSmith根据数据库中的表创建C#数据模型Model + 因为没有钱买正版,所以附加自己写的小代码...
查看>>