建立对象的两种方式

使用对象字面量的方式建立对象

    var obj = {
      name: '刘德华',
      age: 18,
      sayHi: function () {
        console.log('hi');
      }
    };
    // 使用对象
    console.log(obj.name);
    console.log(obj['age']);  //注意,这里不能忘记掉引号。
    obj.sayHi();
    //属性采起的是属性名:属性值
    //多组属性和方法中间采用的是逗号隔开
    //方法后面跟的是函数。

使用 new Object建立对象

    var object = new Object();
    object.name = '刘德华';
    object.age = 19;
    object.sex = '男';
    object.sayHi = function(){
      console.log('忘情水');
    }
    //建立一个空对象,追加属性数据的方式。  对象名.属性名 = 值
    //使用方式和上面都同样。
    console.log(object.age);

自定义构造函数

上面两种方法,都只能一次建立一个对象,因此不太方便,若是咱们须要一次建立多个对象的时候,就须要使用构造函数了。ide

    // function 构造函数名(参数1....){ 构造函数名的首字母要大写
    //this.属性名 = 属性值;
    //this.方法名 = function(){}
    // }
    // 调用构造函数   new 构造函数名()

示例:函数

function Star(name,age,sex){
      this.name  = name;
      this.age = age;
      this.sex = sex;
      this.sing = function(){
        console.log('唱歌');
      }
    }
    var ldh = new Star('张学友',22,'女');  //构造函数要经过new来调用
    console.log(ldh.name);
    console.log(ldh.age);
    console.log(ldh.sex);

new 关键字执行的过程

  1. new 构造函数能够产生一个新的空对象
  2. this 就指向咱们建立的这个空对象
  3. 执行构造函数里面的代码(完成赋值操做)
  4. 返回这个对象。

this的指向问题

通常状况this指向他的调用者。this

  1. this在函数中的指的是 window 。由于window调用了这个函数。
  2. this在对象中的指向是当前这个对象。
  3. this在构造函数中的指向当前的这个调用者。
相关文章
相关标签/搜索