美文网首页
对象的创建

对象的创建

作者: 灯火葳蕤234 | 来源:发表于2019-04-15 13:37 被阅读0次

    JavaScript中的对象实际上是键值对的集合,如何去创建一个对象呢?有以下方法:

    字面量创建(Object Literal)
    const circle = {
      radius: 1,
      location: {
        x: 1,
        y: 1
      },
      draw: function() {
        console.log('draw');
      }
    };
    

    当对象中有一个或多个方法,即对象具有行为性时,使用创建对象语法来创建多个对象是不妥的,解决方法是使用工厂函数或者构造函数(它们都是JavaScript的内建函数)。

    工厂函数(Factory)
    function createCircle(radius) { 
      return {
        radius, //键值同名时,可以去除冗余代码比方说值(ES6新特性)
        draw: function() {
          console.log('draw');
        }
      };
    }
    const circle = createCircle(1);
    
    构造函数(Constructor)
    function Circle(radius) {
      this.radius = radius;
      this.draw = function() {
        console.log('draw');
      }
    }
    const another = new Circle(1);
    

    我们用new关键字调用Circle函数,并且传入1作为参数,就创建了一个新的对象。
    当我们使用new关键字的时候,发生了什么呢?
    首先,new会创建一个空的对象{}
    然后,它会设置this指向这个对象,
    最后,从构造函数中返回这个对象(尽管构造函数中并没有return语句)

    相关文章

      网友评论

          本文标题:对象的创建

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