對(duì)象是什么
對(duì)象是屬性的無(wú)序集合
- 每個(gè)屬性都是一個(gè)名/值對(duì)辈末。
- 屬性名:是標(biāo)識(shí)符或字符串
- 屬性值:任意數(shù)據(jù)類型
let student = {
first
}
關(guān)于字符串屬性名
- 單引號(hào)雙引號(hào)都可以
- 特殊字符必須加引號(hào)
- for關(guān)鍵字必須加引號(hào)
對(duì)象是js的復(fù)雜數(shù)據(jù)類型
- 對(duì)象把很多值聚合在一起:字符串、數(shù)值横缔、布爾值、undefined镊辕、null耿眉、函數(shù)、object
創(chuàng)建對(duì)象方法
創(chuàng)建對(duì)象有三種方法
- 對(duì)象字面量:使用花括號(hào)包含的一組逗號(hào)分隔的名值對(duì)。
- 構(gòu)造函數(shù)法
- 原型法
增強(qiáng)的對(duì)象字面量語(yǔ)法
- 寫入變量:ES2015允許直接寫入變量和函數(shù)作為對(duì)象的屬性和方法
- 簡(jiǎn)寫:如果變量名與函數(shù)屬性名相同竖瘾,可簡(jiǎn)寫一個(gè)屬性名
構(gòu)造函數(shù)法
定義
構(gòu)造函數(shù)就是構(gòu)造函數(shù)對(duì)象的模板函數(shù)沟突。
語(yǔ)法
function Fn(paral,para2){
this.屬性名 = 形參1,
this.屬性名 = 形參2
}
- Fn:函數(shù)名捕传。所有的構(gòu)造函數(shù)名首字母要大寫惠拭。
- this:在構(gòu)造函數(shù)中的this只是一個(gè)占位符
new關(guān)鍵字調(diào)用函數(shù)的過(guò)程 - 使用new調(diào)用構(gòu)造函數(shù)時(shí),在內(nèi)存中創(chuàng)建一個(gè)空的對(duì)象
- 確定this指向這個(gè)空對(duì)象
- 執(zhí)行函數(shù)體內(nèi)的代碼庸论,給空對(duì)象添加屬性
- 返回這個(gè)對(duì)象
查詢的設(shè)置屬性
概述
讀屬性
- 點(diǎn)語(yǔ)法
- 方括號(hào)語(yǔ)法
寫屬性
- 點(diǎn)語(yǔ)法
- 方括號(hào)語(yǔ)法
示例:一個(gè)普通對(duì)象
let xiaoming = {
name:'小明'职辅,
age:'18',
'e-mail':'134434@qq.com'
}
寫屬性包括:添加或修改
關(guān)聯(lián)數(shù)組
- 對(duì)象就是一種關(guān)聯(lián)數(shù)組
- 關(guān)聯(lián)數(shù)組:以字符串作為索引的數(shù)組。
屬性訪問(wèn)錯(cuò)誤
報(bào)錯(cuò)簡(jiǎn)述:
- 訪問(wèn)不存在的屬性是undefined不會(huì)報(bào)錯(cuò)
- 訪問(wèn)不存在的對(duì)象會(huì)報(bào)錯(cuò)
- 訪問(wèn)unll和undefined的屬性會(huì)報(bào)錯(cuò)
解決方案
刪除屬性
語(yǔ)法
語(yǔ)法 delete 對(duì)象名.屬性名
語(yǔ)法 delete 對(duì)象名['屬性名']
注意:
- delete操作只能刪除自身屬性聂示,不能刪除繼承屬性
- delete 表達(dá)式返回的是布爾值
檢測(cè)屬性
in操作符:檢測(cè)屬性是否存在
語(yǔ)法
'屬性名' in 對(duì)象
hasOwnProperty():檢測(cè)屬性是否是自有屬性
語(yǔ)法:
對(duì)象.hasOwnproperty('屬性名')