千鋒教育JavaScript全套視頻教程(10天學會Js,前端javascrip

P43對象數(shù)據(jù)類型
1、用花括號寫出來的是最基本的對象類型的寫法;【可以理解為除了基本類型,其他都是對象類型】【也可以理解為對象就是擁有屬性和方法的數(shù)據(jù),用來描述一個具體的對象(物體)】
2、對象創(chuàng)建:
<1>字面量:var obj = {...};【使用字面量在創(chuàng)建對象時,可以把一些已知的屬性和方法,提前寫出來;花括號里放鍵值對(屬性和方法(功能) )】【不管是屬性還是方法,都是以鍵值對來保存的;例如花括號里面可以寫name:"小明",eat:function(){...},】
<2>借助內置的構造函數(shù)Object :var obj2 = new Object();【只能創(chuàng)建一個空的對象,要是想加入屬性和方法,需要用到其他手段】
一、給一個對象添加屬性和方法:
1、用 . 運算符【 obj.a = 1 】【obj.fn1 = functioin(){.....}】
2、【 obj ["b"] = 2】【obj["fn2"] = function(){...}】【對象的名在本質上都是字符串】
3、 .不帶引號,[ ]帶引號 但是 [ ]里也不一定帶【obj[ c ] = 3 是錯的;obj[ "c"] = 3 是對的;如果var c = "hahaha" ,那么第一個就是對的;. 必須是具體的,寫死的,已知的值,一般都會用到,但是缺乏靈活性,所以中括號也是威力無窮的】
二、修改一個對象里面的屬性和方法:
1、用 . 運算符【 obj.a = 1 】【一個對象里不會出現(xiàn)同名的鍵值對】【同名不同值更不可能出現(xiàn)】
三、查看一個對象里面的屬性和方法
1、console.log(person.name ,person["age"])
2、person.eat() ; //方法執(zhí)行 【如果是person.eat,打印的是整個方法體格式】
3、一次全部取出來查看:for...in遍歷;這里必須用中括號,不能用點運算符,而且中括號里面的是變量,不能加雙引號,因為它已經(jīng)是一個字符串了;
四、刪除一個對象里面的屬性和方法
1、運算符:delete
2、delete obj.a;delete obj["b"];// 刪除了屬性名a, 屬性值自然沒有【皮之不存毛將焉附】