JavaScript创建对象的四种方式

操作方法

  • 01

    1、对已有对象进行扩充方法和属性 var object = new Object(); object.name = "zhangsan";//每个对象需要写这些语句 object.sayName = function(name){//每个对象需要写这些语句 this.name = name; }; object.sayName("lisi"); alert(object.name); 2、工厂方式创建对象 function createObject() { var object = new Object(); object.username = "zhangsan"; object.password = "123456"; object.get = function(){ alert(this.username + "," + this.password); } return object; } var object1 = createObject(); var object2 = createObject(); object1.get(); object2.get(); // 带参数的构造方法 function createObject(username, password){ var object = new Object(); object.username = username; object.password = password; object.get = function(){//缺点是,多少个对象则方法就有多少个 alert(this.username + ", " + this.password); } return object; } var object1 = createObject("zhangsan",123456); object1.get(); // 最佳改进方式 function get(){//使该函数被多个对象共享 alert(this.username + ", " + this.password); } function createObject(username, password){//创建对象 var object = new Object(); object.username = username; object.password = password; object.get = get; return object; } var object1 = createObject("zhangsan", "123456"); var object2 = createObject("wangwu", "654321"); object1.get(); object2.get(); 3、构造函数方式创建对象 function Person(){ //在执行第一行代码欠,js引擎会为我们生成一个对象 this.username = "zhangsan"; this.password = "123"; this.getInfo = function(){ alert(this.username + ", " + this.password); } //此处有一个隐藏的return语句,用于将之前生成对象返回。 } var p1 = new Person(); p1.getInfo(); //带参数 function Person(username, password){ this.username = username; this.password = password; this.getInfo = function(){ alert(this.username + ", " + this.password); } } var p1 = new Person("zhangsan","1234546"); p1.getInfo(); 4、原型(“prototype”)方式 function Person(){} Person.prototype.username = "zhangsan"; Person.prototype.password = "123456"; Person.prototype.getInfo = function(){ alert(this.username + ", " + this.password); } var person = new Person(); var person2 = new Person(); person.username = "haha"; person.getInfo(); person2.getInfo(); //单纯使用原型方式定义对象无法在构造函数中为属性赋值,只能在对象生成后再去改变属性值 function Person(){} Person.prototype.username = new Array(); Person.prototype.password = "123456"; Person.prototype.getInfo = function(){ alert(this.username + ", " + this.password); } var person = new Person(); var person2 = new Person(); person.username.push("zhangsan"); person.username.push("lisi"); person.password = "321"; person.getInfo(); person2.getInfo(); //执行结果:zhangsan lisi 321, zhangsan lisi 123456 /* p1 ————> Person ——> username username是一个对象的引用,值会影响p1,p2 \ / / \ p2 ————> Person ——> password password是一个常量 */ 5、综合方式(原型+构造函数方式搭配) function Person(){ this.username = new Array();//不被多个对象共享 this.password = "123"; } Person.prototype.getInfo = function()//被多个对象共享 { alert(this.username + "," + this.password); } var p1 = new Person(); var p2 = new Person(); p1.username.push("zhangsan"); p2.username.push("lisi"); p1.getInfo(); p2.getInfo(); 5、动态原型方式 function Person(){ this.username = "zhangsan"; this.password = "123"; //通过标志量让所有的对象共享方法 if(typeof Person.flag == "undefined"){ alert("prototype"); Person.prototype.getInfo = function() { alert(this.username + ", " + this.password); } Person.flag = true; } } var p = new Person(); var p2 = new Person(); p.getInfo(); p2.getInfo();

(0)

相关推荐

  • win8关机的常见四种方式介绍

    本文针对于初次使用WIN8系统的新手用户,刚安装好win8后,由于没有传统的"开始"菜单 很多用户对win8的系统还不习惯,不知道win8怎么关机的操作步骤;下面简单介绍win8怎么关机的常见四种方式 ...

  • 网络虚拟化提高安全性的四种方式

    虚拟化已经给IT部门带来了很多礼物。它让不可能不仅成为可能,更成为普遍。从服务器整合到云计算,虚拟化是目前世界范围内占主导地位的计算平台。 除了扩展计算能力,虚拟化也被认为是增加网络安全性的一种方法。 ...

  • 喷墨打印机印后表面处理四种方式

    喷墨打印机印后表面处理方法多样而且新技术新材料层出不穷,不过目前喷墨打印机印后表面处理常用的主要方式还是以淋膜、塑封、冷裱、覆膜这样四种方式居多。 1、淋膜 淋膜就是把一种专用液体均匀的涂抹在印后的纸 ...

  • DNF获得瞬间移动药剂的四种方式

    DNF获得瞬间移动药剂的四种方式,请看下面的吧! 操作方法 01 第一种 购买获得.点击下方拍卖行,进入拍卖行的搜索界面. 02 输入瞬间移动几颗字,点击搜索就可以购买药剂,一般采取一口价的形式进行购 ...

  • VirtualBox虚拟机网络设置方法(四种方式)

    VirtualBox的提供了四种网络接入模式,它们分别是: 1、NAT 网络地址转换模式(NAT,Network Address Translation) 2、Bridged Adapter 桥接模式 ...

  • 中小企业IT手册 四种方式提升云安全

    随着云计算流行度的不断增长,但在云计算面前你是否是还是犹豫不决,纠结不已?你是否还在担心把数据放到云中安全吗?云中的数据是如何确保其它安全性的? 随着云计算流行度的不断增长,但在云计算面前你是否是还是 ...

  • U盘病毒传播的四种方式

    U盘病毒传播的四种方式

  • 端口扫描的四种方式(端口扫描的三种方式)

    端口扫描的四种方式(端口扫描的三种方式)

  • 四种常用的喷墨打印机印后表面处理方式详解

    喷墨打印机印后表面处理方法多样而且新技术新材料层出不穷,不过目前喷墨打印机印后表面处理常用的主要方式还是以淋膜、塑封、冷裱、覆膜这样四种方式居多。 1、淋膜 淋膜就是把一种专用液体均匀的涂抹在印后的纸 ...