JS创建对象方式

一、对象:对个数据的封装体,保存多个数据的容器(可以统一管理多个数据)

  1、分类  

  1)内建对象:由ES标准定义的对象,在任何ES的实现都可以使用

     例如:Math String Number Function Object

  2)宿主对象:由JS运行环境提供的对象

     例如:DOM BOM

  3)自定义对象:用户自己定义的

  2、组成:

    -属性:由属性名(字符串)和属性值(任意类型)构成

    -方法:一种特殊的属性(属性值是函数)

  3、访问对象内部的数据

    -对象.属性名:属性名不确定(变量);属性名有特殊字符时不能使用

    -对象[属性名]:任何情况下都能使用

二、创建对象的方式

  1、new操作符:先创建空对象,再动态添加属性。用于最初对象的内部属性不确定时

    缺点:语句太多

    

  2、对象字面量:适用于创建时对象内部属性是确定的。

    缺点:创建多个对象时,大量代码重复

    

  3、使用工厂方法:通过工厂函数动态创建对象,并将对象返回。适用于创建多个对象

    缺点:对象没有具体的类型,无法判断是谁的实例,都是Object

    

  4、构造函数的方式

    与工厂函数方式的区别:没有显示的创建对象;没有返回语句;构造函数名需要一般大写,其他一般小写;知道是谁的实例

      (通过 instanceof 可以看出其既是Object的实例,又是Person的实例)

    

    创建对象的过程:

      1)立即创建一个对象

      2)将构造函数的作用域赋值给新对象(所以this指向新对象)

      3)逐行执行构造函数中的代码

      4)将新建的对象返回

  缺点:如果将方法函数写在构造函数中,那么在每次创建对象时都会实例化一个方法(方法是函数,函数也是对象),所以每个对象的方法都

      不一样。将方法函数写在外面又会污染全局命名空间,并且不够隐私。这就出现了原型方式创建对象

  5、原型+构造函数

    

    向对象的原型中添加一些公有的属性,这样每次创建对象时就不会都重复创建。

  

原文地址:https://www.cnblogs.com/qqinhappyhappy/p/11601140.html

时间: 2024-10-21 08:30:34

JS创建对象方式的相关文章

js创建对象的四种方式以及消耗时间比较

// Property-less object console.time('zoop1'); var zoop = (function (numObjects) { var pooz = Object.create(null); for(var i = 0; i< numObjects; i++) { pooz[i] = Object.create(null); } return pooz; })(1000000); console.timeEnd('zoop1'); // Using Obje

js 创建对象的多种方式

参考: javascript 高级程序设计第三版 工厂模式 12345678910 function (name) { var obj = new Object() obj.name = name obj.getName = function() { console.log(this.name) } return obj} var person1 = createPerson('jack') 缺点:对象无法识别,所有实例都指向同一个原型 构造函数模式 1234567 function Perso

js创建对象

js创建对象的方法 1.使用new操作符后跟Object构造函数 var person = new Object(); person.name='Nick'; person.age = 29; 2.使用对象字面量表示法 var person = { name:'Nick', age : 29 }; 3.Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数,可以传一个null,第二个参

浅谈 JS 创建对象的 8 种模式

Objct 模式 工厂模式 构造器模式 通过 Function 对象实现 prototype 模式 构造器与原型方式的混合模式 动态原型模式 混合工厂模式 1.Object 模式 var o1 = {};//字面量的表现形式 var o2 = new Object; var o3 = new Object(); var o4 = new Object(null); var o5 = new Object(undefined); var o6 = Object.create(Object.prot

Js创建对象的方法及原型链的分析

一.JS创建对象的几种方式 最近在看javascript高级程序设计,其中对对象的创建做了具体的阐述,可以进行总结一下. 第1种模式:工厂方式 var sayHello=function(){ return "Hello"; }; function student(){ var S1 = new Object(); Child.name="小明"; Child.age="18"; Child.sayHello=sayHello; return s

JS兼容方式获取浏览器的宽度

<script type="text/javascript"> //need to wait until onload so body is available window.onload = function(){ function getWindowWidth(){ if (window.innerWidth){ return window.innerWidth; } else if (document.documentElement.clientWidth){ ret

JS 创建对象(常见的几种方法)

贴个代码先: function O(user,pwd){ //use constructor this.user=user; this.pwd=pwd; this.get=get; return this; } function O2(user,pwd){ //use factory var obj=new Object(); obj.user=user; obj.pwd=pwd; obj.get=get; return obj; } function O3(){ //use prototype

JS 引入方式 基本数据类型 运算符 控制语句 循环 异常

一.JS引入方式 什么是JavaScript? JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览器解释执行的. JavaScript的嵌入方式 1.行间事件 <input type="button" name="clicktook" onclick= "alert("ok!");"> 2.页面scrip标签嵌入

js创建对象的多种方式及优缺点

在js中,如果你想输入一个的信息,例如姓名,性别,年龄等,如果你用值类型来存储的话,那么你就必须要声明很多个变量才行,变量声明的多了的话,就会造成变量污染.所以最好的方式就是存储到对象中.下面能我就给大家介绍几种创建对象的方式,并且给大家说一下他们的优缺点 方式一:对象字面量 var obj={ name:"赵云", type:"突进", skill:"抢人头" } 缺点:只能创建一次对象,复用性较差,如果要创建多个对象,代码冗余度太高 方式二: