/**
* Created by 2016 on 2016/6/4.
*/
function Box(){
var obj = new obj();
obj.name = "Lee";
obj.run = function(){
return this.name+"run";
};
return obj;
}
var B = Box();
//工厂模式创建对象 在对象中创建obj,在最后返回obj对象 function Box(){
this.name = "Lee";
this.run = function(){
return this.name+"run";
};
}
var B = new Box();
//构造函数模式 使用new运算符创建对象 function Box(){};
Box.prototype.name = "Lee";
Box.prototype.run = function(){
return this.name+"run";
}; var B = new Box();
//原型模式创建,prototype为原型属性。
//优点:方法共享,缺点:属性共享 function Box(){};
Box.prototype = {
constructor:Box,//强制指向Box原型,否则指向object
name:"Lee",
run:function(){
return this.name+"run";
}
};
var B = new Box();
//原型模式,字面量形式创建。这里不能重写字面量,会导致之前的连接断开
//缺点:无法传递参数,所有属性共享 function Box(){
this.name = "Lee";
Box.prototype.run = function(){
return this.name+"run";
};
};
var B = new Box();
//原型+构造函数模式创建,这里每一个实例的run都会初始化一次,所以可以使用动态的原型+构造
//函数模式 function Box(){
this.name = "Lee";
if(typeof Box.prototype.run != "function"){
Box.prototype.run = function(){
return this.name+"run";
};
} };
var B = new Box(); //动态创建。这里的run只会被初始化一次,并且方法是共享的,节省内存 //创建对象的方法有很多,使用动态的原型+构造函数模式创建比较好。
//实例属性独立,方法共享。
function Box(){
var obj = new Array();
obj.name = "Lee";
obj.run = function(){
return this.name+"run";
};
return obj;
} var B = new Box(); //寄生构造函数模式 除了使用new操作符创建对象之外,和工厂模式是一致的

JavaScript 对象的几种创建方法的更多相关文章

  1. 面向面试编程——javascript对象的几种创建方式

    javascript对象的几种创建方式 总共有以下几个模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.混合构造函数和原型模式 5.动态原型模式 6.寄生构造函数模式 7.稳妥构造函数模式 1 ...

  2. JavaScript对象的几种创建方式与优缺点

    JavaScript中常见的几种创建对象的方式有:Object构造函数模式.对象字面量模式.工厂模式.自定义构造函数模式.构造函数加原型组合模式:他们各自有各自的优缺点和使用场景. 1. Object ...

  3. Javascript对象的几种创建方式

    (1) 工厂模式 Function(){ Var child = new object() Child.name = “欲泪成雪” Child.age=”20” Return child; } Var ...

  4. pandas-01 Series()的几种创建方法

    pandas-01 Series()的几种创建方法 pandas.Series()的几种创建方法. import numpy as np import pandas as pd # 使用一个列表生成一 ...

  5. 创建javascript对象的几种方式

    ECMAScript提供的对象有:String.Date.Array.Boolean.Math.Number.RegExp.Global 程序中需要用到很多自定义的js对象 1.直接创建 var ob ...

  6. JavaScript函数的4种调用方法详解

    在JavaScript中,函数是一等公民,函数在JavaScript中是一个数据类型,而非像C#或其他描述性语言那样仅仅作为一个模块来使用.函数有四种调用模式,分别是:函数调用形式.方法调用形式.构造 ...

  7. JavaScript 函数的4种调用方法

    JavaScript 函数有 4 种调用方式. 每种方式的不同方式在于 this 的初始化. 作为一个函数调用 function myFunction(a, b) { return a * b; } ...

  8. RealSense开发-Session和SenseManager的几种创建方法

    从Intel RealSense 的SDK文档对其架构(如图1所示)的始描述可知,Session是SDK应用的主控模块,必须在所有模块操作之前创建,并且在所有模块注销后最后注销.SenseManage ...

  9. 【JavaScript】浅析JavaScript对象如何添加属性和方法

    向JavaScript类中添加属性和方法,最直观的做法就是在类中定义属性和方法.JavaScript是一门弱语言,除了直接定义还可以用prototype来添加. 下面介绍从外部向JavaScript添 ...

随机推荐

  1. 在与SQL Server建立连接时出现与网络相关的或特定于实例的错误

    向往前一样.学习牛腩新闻公布系统的视频,写程序,打开数据库.出现一个框框,具体内容例如以下: 数据库连接不上.全部的工作都要歇班,捣鼓了会儿,简单总结一下解决该问题的方法. 首先:第一步,程序--SQ ...

  2. Java开发手冊 Java学习手冊教程(MtJava开发手冊)

    本文档的版权归MtJava文档小组全部,本文档及其描写叙述的内容受有关法律的版权保护,对本文档内容的不论什么形式的非法复制.泄露或散布.将导致对应的法律责任. MtJava仅仅是一个学习Java的简化 ...

  3. pomelo 服务器开发常用术语

    gate服务器 一个应用的gate服务器,一般不参与rpc调用,也就是说其配置项里可以没有port字段,仅仅有clientPort字段,它的作用是做前端的负载均衡.客户端往往首先向gate服务器发出请 ...

  4. air写文件 SecurityError: fileWriteResource 时报错的解决方法

    用 File.applicationDerectoryPath.resolv("text.txt")会报SecuriyError错误! 解决: var _Path:File = F ...

  5. java_TreeSet 定制排序实例

    package ming; import java.util.Comparator; import java.util.TreeSet; class M { int age; public M(int ...

  6. C#_delegate - 调用列表

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Dele ...

  7. 命令行一键清除IE记录

    清除Internet临时文件 RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 清除Cookies RunDll32.exe InetCpl.cpl, ...

  8. mysql控制流程函数

    1.case语句 select case 2 when 1 then '男' when 2 then '女' else 'xoap' end as result; 2.if语句 select if(1 ...

  9. Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  10. 如何获取SQL Server数据库元数据的方法

    发布时间:2007.06.15 05:05    来源:赛迪网    作者:3946469 元数据简介 元数据 (metadata) 最常见的定义为“有关数据的结构数据”,或者再简单一点就是“关于数据 ...