對象

對象:(是一種引用類型的數據,存儲在堆內存中)app

             對象是一組屬性和方法/功能的集合函數

     使用大括號{}建立空對象  屬性名和屬性值用冒號隔開   多組屬性之間用逗號隔開   屬性名中引號可加可不加,有特殊字符時必須加;this

1、使用字面量建立對象

例1:spa

// 使用對象字面量建立對象[object]
// 建立一個手機對象
var phone={};
console.log(phone);

例2:code

// 建立一個手機對象
//{屬性名:屬性值,...}
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);

2、使用內置構造函數建立對象

例1:blog

// 建立一個空對象
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);

3、訪問對象中的屬性

例1:ci

// 訪問對象中的屬性
// 若是要獲取的屬性不存在,屬性值是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)get

// 獲取到每個屬性名,進而獲取屬性值
// 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);
相關文章
相關標籤/搜索