zoukankan      html  css  js  c++  java
  • 创建对象的两种方式

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

        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);
    

    自定义构造函数

    上面两种方法,都只能一次创建一个对象,所以不太方便,如果我们需要一次创建多个对象的时候,就需要使用构造函数了。

        // 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指向他的调用者。

    1. this在函数中的指的是 window 。因为window调用了这个函数。
    2. this在对象中的指向是当前这个对象。
    3. this在构造函数中的指向当前的这个调用者。
  • 相关阅读:
    [设计模式]门面模式
    [设计模式]装饰者模式
    IE8半透明不显示出文字
    解决IE6,IE7不能隐藏绝对定位溢出的内容
    [设计模式]适配器模式
    linux学习网站
    PPP协议解析
    c语言面试题__指针篇
    单链表反转
    16道C语言面试题
  • 原文地址:https://www.cnblogs.com/Bianco/p/13440793.html
Copyright © 2011-2022 走看看