美文网首页
JS-Object-创建对象实例

JS-Object-创建对象实例

作者: Remeo | 来源:发表于2018-03-09 11:45 被阅读0次

1、使用构建函数

function Person(name) {
  this.name = name;
  this.greeting = function() {
    alert('Hi! I\'m ' + this.name + '.');
  };
}

这个构建函数是 JavaScript 版本的类。您会发现,它只定义了对象的属性和方法,除了没有明确创建一个对象和返回任何值和之外,它有了您期待的函数所拥有的全部功能。这里使用了this关键词,即无论是该对象的哪个实例被这个构建函数创建,它的 name 属性就是传递到构建函数形参name的值,它的 greeting() 方法中也将使用相同的传递到构建函数形参name的值。
!注:一个构建函数通常是大写字母开头,这样便于区分构建函数和普通函数。

  • 用构建函数创建实例
    var person1 = new Person('Bob');
    var person2 = new Person('Sarah');
    现在有两个对象,每一个保存再不同的命名空间里,当访问他们的属性和方法时,铜须使用person1或者person2来调用他们,尽管他们有着相同的name属性和greeting()方法,它们是各自独立的,所以功能不会冲突,注意,它们使用的是自己的name值,这也是this关键字的原因。
    使用new关键字跟着一个含参函数用于告知浏览器我们想要创建一个对象实例,非常类似于函数调用,并把结果保存在变量中。

2、Object()构造函数

  • 首先可以使用Object()构造函数来创建一个新对象。是的,一般对象有构造函数,它创建了一个空的对象。
    var person3 = new Object();
  • 这样就在person3变量中存储了一个对象,然后根据需要,使用点或者括号便是法向此对象中添加属性和方法
    person1.name = 'Chris';
    person1['age'] = 38;
    person1.greeting = function() { alert('Hi! I\'m ' + this.name + '.'); }

3、使用create()方法

JavaScript有个内嵌的方法create(),它允许您级域现有对象创建新的对象实例。

  • var person2 = Object.create(person1);
    可以看到,person2是基于person1创建的,它们具有相同的属性和方法。这非常有用,因为它允许您创建新的对象实例而无需定义构造函数。
    如果您不太担心对旧浏览器的支持,并且您只需要一个对象的一些副本,那么创建一个构造函数可能会让您的代码显得过度繁杂。

4、使用对象的constructor属性

var person3 = new person1.constructor('xiaowang', 34);你可以再constructor属性的末尾添加一对圆括号(括号中包含所需的参数),从而用这个构造器创建另一个对象实例。毕竟构造器是一个函数,故可以通过圆括号调用,只需要再前面添加new关键字,便能将此函数作为构造器使用。

相关文章

  • JS-Object-创建对象实例

    1、使用构建函数 这个构建函数是 JavaScript 版本的类。您会发现,它只定义了对象的属性和方法,除了没有明...

  • vue-实例

    创建vue实例 创建vue实例时,可接收如下几个对象 data 作用:实例的数据对象类型:object|Funct...

  • 创建对象实例

    头文件 cpp文件 主函数 如果m_pData不用malloc初始化,则会在编译时报告析构函数的错误。plus ...

  • JavaScript--对象

    简介 访问对象的属性 访问对象的方法 创建对象 创建直接的实例 1.创建了对象实例,并向其添加属性: 2.使用Ob...

  • 创建型模式之单例模式

    创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程,即创建对象的同时隐藏创建逻辑。 1、使用场景 什...

  • JS内置对象及自定义对象

    JS允许自定义对象1.定义并创建对象实例 2.使用函数来定义对象,然后创建新的对象实例 内置对象 String对象...

  • constructor vs instanceof

    constructor 实例对象上的属性,指向创建实例对象的对象,可修改 instaceof 检测这个实例是不是由...

  • 创建型模式之工厂模式

    创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程,即创建对象的同时隐藏创建逻辑。 在上一篇行为型模...

  • ABAP面相对象

    类 对象 方法 继承 接口 事件 类生成器 实例: 根据类创建过程中为实例化,且根据类的创建对象为实例,对象代表所...

  • JVM对象创建过程-备忘录

    JVM创建对象实例流程

网友评论

      本文标题:JS-Object-创建对象实例

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