美文网首页
JS-创建对象

JS-创建对象

作者: ResearchWorld | 来源:发表于2017-07-18 21:00 被阅读0次

没完成大概先这样写下

字面量


var obj = {
  name = 'captain jack',
  hi = function(){
    console.log('hi');
  },
};

优点:方便直观
缺点:不能构成重用

new Object();

var obj = new Object();
obj.name = 'zhangsan';
obj.say = function(){
  console.log('I am zhangsan');
};

工厂方法


function createHuman(name,sex,age)
{
   var obj = new Object();
   obj.name = name;
   obj.sex = sex;
   obj.age = age;
   obj.introduceMe = function(){
     console.log('My name is ' + name);
     console.log('My sex is ' + sex);
     console.log('My age is ' + age);
  };
  return obj;
}

优点:屏蔽了细节,也实现了代码重用
缺点:你无法判断创建的类是啥类型的

js判断类型,可以用instanceof , typeof,待补充(wait to do)。

构造方法


function Human(name,sex,age)
{
   this.name = name;
   this.sex = sex;
   this.age = age;
   this.introduceMe = function(){
     console.log('My name is ' + name);
     console.log('My sex is ' + sex);
     console.log('My age is ' + age);
  };
}

优点:解决了上面工厂方法留下来的缺点,且具备他的优点
缺点:每个对象都有一个方法了,浪费内存。
构造方法的具体过程:
1.new的时候会创建一个对象
2.把对象赋给这个函数的作用域
3.返回对象

原型模式


原型模式主要是利用了每个构造函数拥有一个原型对象,且这个原型对象被每个根据此构造函数创建出来的对象中的某个属性所指着。具体的图,下次画出来(wait to do)。这样的话就可以实现,所有对象共享某个对象。

function Human(name,sex,age)
{
   this.name = name;
   this.sex = sex;
   this.age = age;
}
 Human.prototype.sayHi = function(){
     console.log('My name is ' + name);
     console.log('My sex is ' + sex);
     console.log('My age is ' + age);
 };

相关文章

  • js-创建对象

    工厂模式缺点:虽然解决了创建多个相似对象的问题,但是没能识别对象类型 构造函数模式 几点tips:构造函数的函数名...

  • JS-创建对象

    没完成大概先这样写下 字面量 优点:方便直观缺点:不能构成重用 new Object(); 工厂方法 优点:屏蔽了...

  • JS-对象创建

    使用函数工厂创建对象,通过参数传递对象定制的数据,内部返回包含属性和方法的对象 使用构造函数创建对象,构造函数默认...

  • JS-最全的创建对象方式

    JS最全创建对象方式汇总 1.最简单的方式--创建一个Object实例 2.对象字面量 以上均为创建单个对象的方法...

  • JS-对象

    一、数学对象(8) 二、字符串对象(9 ) 1、字符串:是一个字符2、字符串对象:是一个数组。3、用字符串方法对字...

  • JS-对象

    1. 基础 可通过字面量定义对象,在对象内部定义属性和方法 可以通过对象.属性或者对象['属性'] 对象['方法...

  • JS-对象

    Array1.声名 var arr = [];2.读取数据-通过索引 var arr = ['1','2','...

  • 数组

    JS-数组 方法: Array.isArray(obj) : 判断对象是否是Array,是返回true,不是返回f...

  • js-创建对象的三种方式

    1 字面量的方式 2 调用系统的构造函数 3 自定义构造函数方式

  • 对JavaScript的Event对象的理解

    今天写一下个人觉得在JS中比较重要又比较独特的对象--Event对象以及应用。 -简单介绍JS- 谈到javasc...

网友评论

      本文标题:JS-创建对象

      本文链接:https://www.haomeiwen.com/subject/flahkxtx.html