• 对象


    对象:(是一种引用类型的数据,存储在堆内存中)

                 对象是一组属性和方法/功能的集合

         使用大括号{}创建空对象  属性名和属性值用冒号隔开   多组属性之间用逗号隔开   属性名中引号可加可不加,有特殊字符时必须加;

    一、使用字面量创建对象

    例1:

    // 使用对象字面量创建对象[object]
    // 创建一个手机对象
    var phone={};
    console.log(phone);

    例2:

    // 创建一个手机对象
    //{属性名:属性值,...}
    var phone={
        color:'red',
        brand:'apple',
        size:5.7,
        price:2000,
        'made-in':'china'
    };
    console.log(phone);

    例3:

    // 创建一个部门对象,属性有部门编号、名称、员工数量
    var department={
        did:10,
        dname:'dev',
        count:5
    }
    console.log(department);
    
    // 创建一个员工对象,属性有编号、姓名、性别、生日、工资、所在部门
    var emp={
        eid:2,
        sex:1,
        ename:'tmo',
        birthday:'1993-1-1',
        salary:10000,
        deptId:10
    }
    console.log(emp);

    二、使用内置构造函数创建对象

    例1:

    // 创建一个空对象
    var lixian=new object();
    // 添加属性
    book.id=103;
    book.name='红楼梦';
    book['price']=30;
    book['publish']='人民邮电出版社';
    console.log(book);

    例2:

    // 创建一个汽车对象,属性有编号、品牌、颜色、价格
    var car=new object();
    car.cid='101';
    car.brand='奇瑞QQ';
    car.price=40000;
    car.color='red';
    console.log(car)
    
    // 创建一个电脑对象,属性有型号、品牌、尺寸、产地
    var computer=new object();
    computer['id']='thinkpad';
    computer['brand']='联想';
    computer['size']=15.6;
    computer['madeIn']='china';
    console.log(computer);

    三、访问对象中的属性

    例1:

    // 访问对象中的属性
    // 如果要获取的属性不存在,属性值是undefined
    var emp={
        eid:3,
        ename:'kata',
        sex:0,
        birthday:'1998-2-5',
        salary:8000
    };
    console.log(emp.ename);
    console.log(emp['birthday']);

    例2:遍历对象中的属性(for-in)

    // 获取到每一个属性名,进而获取属性值
    // key表示对象中的每一个属性名,in后的表示要遍历的对象
    // 获取属性名
    for(var key in emp){ console.log(key); }

    // 获取属性名和值

      for(var key in emp){
          console.log(key+'-----'+emp[key]);
    }

    例3:

    // 练习:创建一个商品的对象,包含编号、标题、价格 是否在售  商品库存量   使用for-in遍历所有属性
    var product={
        pid:18,
        title:'dell',
        price:4000,
        isonsale:1,
        stockCount:88
    };
    console.log(product);
    for(var key in product){
        console.log(key+'----'+product[key]);
    }

     例4:检查对象中是否有自己的属性

    对象.hasOwnProperty('ename'),有——true, 没有——false

    // 判断对象中是否有salary属性
    console.log(emp.hasOwnProperty('salary'));

    如果一个属性的属性值是undefind,说明属性不存在

    // true——不存在    false——存在
    console.log(emp.deptId===undefind);

    例5:匿名函数调用

    // 创建一个人对象
    // 对象中的方法:匿名函数调用  【对象.属性】/【this.属性】
    var person={
        name:'tom',
        age:18,
        sex:'男'
        say:function(){
            //console.log('我是kata,性别女,年龄28');
            // this 指代当前的对象,也可以用person.name
            console.log('我叫'+ this.name);
    
        }
    };
    // 调用对象中的方法
    person.say();

    例6:

    // 创建一个圆对象,添加属性半径、圆周率、添加方法计算周长(getLength)和面积(getArea),返回圆的周长的面积。
    var circular={
        r:3;
        PI:3.14;
        getLength:function(){
            return 2*this.PI*this.r;
        }
        getArea:function(){
            return this.PI*this.r*this.r;
        }
    }
    var res1=circular.getLength();
    console.log('周长'+res1); var res2=circular.getArea();
    console.log('面积'+res2);
  • 相关阅读:
    05.设计模式_建造者模式
    04.设计模式_抽象工厂模式
    03.设计模式_工厂方法模式
    02.设计模式_单例模式
    01.设计模式_简单工厂模式
    cocos-js一些问题
    blender
    游戏编程模式
    Unity自动打包工具
    unity调用ios原生代码objective-c和回调
  • 原文地址:https://www.cnblogs.com/hd-test/p/11738484.html
Copyright © 2020-2023  润新知