通过js创建file对象_JS面对对象基础--创建对象详解

本文详细介绍了JavaScript中的对象创建方式,包括new操作符+Object、字面式、工厂模式、构造函数模式、原型模式以及混合模式。重点讨论了构造函数和原型模式的优缺点,强调了混合模式在节省内存方面的优势。文章最后总结了实例化对象的过程,解释了new操作符的工作原理以及原型对象与实例对象的关系。
摘要由CSDN通过智能技术生成

JS面对对象基础

开篇我们先明确几个概念:

构造函数:函数中的一种,通过关键字new可以创建其实例。为了便于区分,通常首字母大写;

原型对象:一种特殊的对象,构造函数创建时即自动生成;与构造函数形成一一对应,如同人和影子般的关系;

实例:通过构造函数new实例化出来的对象;

创建对象的方式

1】new 操作符 + Object 创建对象

var person = new Object();
person.name = "lisi";
person.age = 21;
person.family = ["lida","lier","wangwu"];
person.say = function(){
    
  alert(this.name);
}

这种方式直接使用Object类对象来创建实例,会产生很多重复代码。

2】字面式创建对象

var person = {
    
  name: "lisi"
  age: 21,
  family: ["lida","lier","wangwu"],
  say: function(){
    
    alert(this.name);
  }
};

使用js对象字面量创建实例对象,同理也会产生很多重复代码。

3】工厂模式

在上面 new Object类对象的方式 和 字面式的方式 的基础上诞生了工厂模式,可以创建多个类似对象,减少重复代码。但是无法识别对象类型功能。(因为创建出来的实例对象都是基于Object类对象直接创建的,原型链上只有Object对象

function createPerson(name,age,family){
    
  var o = new Object()
  o.name = name
  o.age = age
  o.family = family
  o.say = function(){
    
    alert(this.name);
  }
  return o
}
var person1 =  createPerson("lisi",21,["lida","lier","wangwu"]);   
//instanceof无法判断它是谁的实例,只能判断他是对象,构造函数都可以判断出
var person2 =  createPerson("
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值