JS07

對象

一、定義

1、世間萬物都可以用對象表示

2、基于對象的編程語言中,用對象給真實的事物建模

組成:屬性 方法

二、Javascript對象介紹

1、對象是javascript的一種數據類型

2、對象是一種復合值 它將很多值聚合在一起,可通過名字訪問這些值。

3、對象也可以看做屬性的無序集合。每個屬性都是 名:值 對。

4、屬性名是字符串,我們可以把對象看成是從字符串到值的映射。

5、對象的其他叫法:散列(hash) 散列表(hashtable) 字典(direction) 關聯數組(associative array)

三、JavaScript對象分類

1、內置對象 如: 數組 函數 日期 正則 等...

2、宿主對象 htmlElement對象是Js的宿主瀏覽器的對象

? ? ? ? 瀏覽器中 window對象 (BOM 和 DOM)

? ? ? ? Node中 global 對象

3、自定義對象 用戶自定義的對象

四、對象的創建

1、使用對象直接量

? ? ? ? console.log({});

? ? ? ? console.log({list:[10,23,243]});

? ? ? ? var oop = {name:’大毛’,list:[1,2,3],getName:function(){}};

2、通過構造函數(new)創建對象

? ? ? ? var oop = new Array();

? ? ? ? var oop = new Function();

? ? ? ? var oop = new Object();

? ? ? ? console.log(oop);

3、通過Object.create(); --ECMA5定義的方法

? ? ? ? 傳入原型

? ? ? ? 不繼承構造函數和原型中的方法屬性

? ? ? ? var o = Object.create();

五、對象屬性值的獲取

.1、運算符

? ? ? ? ECMA老版本.for 或者.of 是非法 ECMA5放寬了限制,但是不建議使用

2、[ ] 運算符

? ? ? ? var oop={name:’lili’,age:12}

? ? ? ? document.write(oop.name);

? ? ? ? document.write(oop[‘name’]);

3、區別

? ? ? ? 當屬性名為變量時 只能使用[ ]

六、屬性修改或設置

? ? ? ? oop.name="abc";

? ? ? ? oop['name']="abc";

七、對象方法的調用

? ? ? ? var oop = {name:'aa',age:12,getInfo:function(a){

? ? ? ? ? ? ? ? document.write(a);return 100;}

? ? ? ? }

? ? ? ? oop.getInfo();

? ? ? ? oop.getInfo('aa');

八、全局對象window

1、預定義的對象 作用域鏈的頂層

2、用戶定義的變量是全局對象的屬性

3、用戶定義的函數是全局對象的方法

九、對象中的this

? ? ? ? 調用本方法的對象

十、刪除對象屬性或方法

? ? ? ? delete oop.age;

? ? ? ? delete getInfo;

十一、對象屬性的檢測

? ? ? ? 使用關鍵字 in document.write('name' in o);

十二、對象的直接量書寫方式 --json格式

? ? ? ? var oop = {

? ? ? ? ? ? ? ? name:’xx’,

? ? ? ? ? ? ? ? age:13,

? ? ? ? ? ? ? ? getInfo:function(){},

? ? ? ? ? ? ? ? "if":[],? ? ? ? ? ? ? ? ? ? //關鍵字使用引號

? ? ? ? ? ? ? ? "color":'黑色',

? ? ? ? ? ? ? ? "cpu-i5":1500? ? ? ? ? ? ? //帶-使用引號

? ? ? ? }

十三、對象的遍歷

? ? ? ?var o = {x:1,y:2,z:3}

1、使用 for in 遍歷出對象的屬性名

? ? ? ?for(var i in o){document.write(i)}

2、使用Object.keys(o) 將屬性名遍歷到數組中

十四、數據結構的認識

1、https://developers.douban.com/? ? 遠程數據API

2、http://api.douban.com/v2/movie/in_theaters

3、http://api.douban.com//v2/movie/coming_soon

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、JS前言 (1)認識JS 也許你已經了解HTML標記(也稱為結構),知道了CSS樣式(也稱為表示),會使用HT...
    凜0_0閱讀 2,798評論 0 8
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,947評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,766評論 18 399
  • 2015年2月14日 ,年二十六。有陽光,晴好。 今天開始在簡書正式開創自己的文字專欄啦~(捂臉害羞)雖說...
    zony閱讀 184評論 0 1
  • 以上圖片來自源于網絡
    sky_小渣閱讀 246評論 0 1