1. 程式人生 > >js object數據類型

js object數據類型

字符串類型 argument obj call new 通過 處理 json 方法

1.object數據類型,[可以]認為JavaScript中頂級數據類型.在JavaScript絕大多數
高級類型對象都是object類型

2.如何創建一個object類型對象

1) 通過調用Object內置構造函數,創建一個object類型對象
2) 通過JSON格式,創建一個object類型對象 {屬性名:值,函數名:function(){}}
3) 通過自定義構造函數,創建一個object類型對象

3.如何區分普通函數與自定義構造函數

通過調用形式,決定當前函數是普通函數還是構造函數
普通函數調用形式: 對象.函數();

構造函數調用形式: var obj=new 函數();

在Java中方法內部的this的指向與JavaScript中函數內部this是一樣
1)在構造方法中,this指的當前創建的實例對象
2)在普通方法中,this指的調用當前方法的實例對象

4.object類型對象的特點

因為JavaScript是弱類型編程語言,沒有類文件的約束
所以object類型對象可以在創建後,任意添加屬性和函數

5.如何為object類型對象添加屬性函數:

1)object對象中[屬性名稱]都是字符串類型
2)添加屬性格式

object類型對象[‘屬性名‘]=值;
object類型對象.屬性名 = 值;

3)移除屬性格式
delete object類型對象.屬性名;
delete object類型對象["屬性名"];

6.動態指定函數的調用對象----------> 代碼快速復用(封裝商業價值)

1) 函數類型對象.call(調用對象,實參1,實參2...);
2) 函數類型對象.apply(調用對象,[實參1,實參2...]);
Method.inovke(調用對象,[實參,實參])

7.原型屬性----prototype[重點]

1) 所有的[函數類型對象],都自動分配一個屬性(prototype)
2) 這個屬性(prototype)成為原型屬性,由這個屬性管理對象成為[原型對象]
3) 這個屬性(prototype)就相當於Java類中 static final屬性
4) 由當前構造函數生成的所有實例對象,都可以使用當前構造函數中prototype
指定的對象中屬性,但是只能用,不能修改
5) 原型對象內容,只能由[函數類型對象]通過prototype.屬性方式進行修改
6) JavaScript自動為prototype屬性分配一個默認的對象,這個對象就被成為原型對象
7) 函數類型對象.prototype.屬性名 ,對原型對象屬性進行操作
函數類型對象.prototype = 對象, 改變管理原型對象引用地址


三.JavaScript5.0 繼承實現

1.[繼承]: 資源共享,只要能實現資源共享都可以認為繼承體現.
2.JavaScript5.0繼承: 通過[構造函數]
3.JavaScript5.0繼承實現細節:
1) 通過原型屬性
2) 通過call或則apply


四.JavaScript5.0中 callee屬性

1.[arguments屬性對象]擁有一個屬性[callee] arguments.callee
2.callee屬性相當於一個指針.永遠[指向函數在內存存儲位置]
****callee相當於常量(final),callee只要生成永遠指向它遇到一個函數在內存地址

五.數組 Array

1.JavaScript5.0對於數組定義;
1)JavaScript5.0數組等同於Java中List集合

2.JavaScript5.0數組特征:
1)聲明數組時,不需要指定數組中最大能夠存儲的數據個數
在JavaScript中不限制數組保存的數據個數
2)數組同時保存多個不同的數據類型的數據

3.如何聲明JavaScript5.0數組

1) 可以使用一個[]聲明數組
var myArray =[];
var myArray2 =[10,20,30]

2) 可以使用JavaScript提供內置構造函數(new Array())創建數組
var myArray = new Array();

4. JavaScript5.0數組下標
1) 阿拉伯數字 ,從0開始
2) 字符串

5. JavaScript5.0數組常用專有函數

1.push(數據1,數據2,數據3):可以向數組對象一次添加多個數據
2.pop(): 每次執行時,將數組對象中最後一個為保存的數據進行刪除
3.length: 返回當前數組對象保存數據個數
-------------------------------------------------------------------------------------
JavaScript應用篇

一.JavaScript應用:
JavaScript[定位]瀏覽器內存中Dom對象,並對Dom對象中屬性進行設置

二.Dom對象:
1.瀏覽器將加載html標簽,當做一種數據類型.
2.瀏覽器加載某一個html標簽時,會為當前這個標簽生成一個引用對象.
這個引用對象就是DOM對象
3.瀏覽器根據標簽聲明順序,在內存中以樹型結構方式存儲所有的DOM對象
4.可以通過修改DOM對象屬性,來影響對應的標簽中屬性變化

三.如何定位瀏覽器內存中Dom對象

1.根據[id屬性值],定位瀏覽器內存中第一個滿足條件的DOM對象
var domObj = document.getElementById("id屬性值");
*****<body></body>對應應用對象 document

2.根據[name屬性值],定位瀏覽器內存中所有具有相同name的Dom對象
var domObjArray = document.getElementsByName("name屬性值");

3.根據標簽類型名稱,定位瀏覽器內存中所有具有相同標簽類型名稱DOM對象

var domObjArray=document.getElementsByTagName("標簽類型名稱");

四.HTML標簽中監聽屬性

1.監聽屬性定義
監聽屬性主要監控用戶使用鼠標和鍵盤對當前標簽進行操作,同時也可以對
瀏覽器特定行為進行監控

2.監聽屬性分類:

1) 鼠標操作行為:
onclick: 用戶是否使用鼠標單擊標簽
ondbclick: 用戶是否使用鼠標雙擊標簽
onchange : 用戶是否使用鼠標改變下拉列表選中項
onmouseover:用戶是否將鼠標懸停在當前標簽上方
onmouseout :用戶是否將鼠標從當前標簽上方移開
onfocus : 用戶是否通過鼠標將光標設置在當前標簽上
onblur : 當前標簽是否失去了光標

2) 鍵盤操作行為:
onkeydown: 用戶是否按下鍵盤上某一個按鍵
onkeyup : 用戶是否松開了鍵盤上某一個按鍵
3) 瀏覽器加載行為:

onload: 主要在body標簽設置,監控瀏覽器是否將
body標簽進行加載完畢

3.監聽屬性作用:
監聽屬性如果發現了用戶的操作行為時,自動調用對應JavaScript
函數進行處理
onclick = "處理函數()"


4.如何將監聽屬性與處理函數進行綁定:
1) 在Html標簽內部,通過 [監聽屬性 = "處理函數名()";]
**** 一次只能為一個html標簽進行監聽屬性與處理函數綁定

2) 一次為多個html標簽設置監聽屬性與處理函數進行綁定

domObj.監聽屬性 = 處理函數引用對象名;

js object數據類型