js object數據類型
1.object數據類型,[可以]認為JavaScript中頂級數據類型.在JavaScript絕大多數
高級類型對象都是object類型
2.如何創建一個object類型對象
1) 通過調用Object內置構造函數,創建一個object類型對象
2) 通過JSON格式,創建一個object類型對象 {屬性名:值,函數名:function(){}}
3) 通過自定義構造函數,創建一個object類型對象
3.如何區分普通函數與自定義構造函數
通過調用形式,決定當前函數是普通函數還是構造函數
普通函數調用形式: 對象.函數();
在Java中方法內部的this的指向與JavaScript中函數內部this是一樣
1)在構造方法中,this指的當前創建的實例對象
2)在普通方法中,this指的調用當前方法的實例對象
4.object類型對象的特點
因為JavaScript是弱類型編程語言,沒有類文件的約束
所以object類型對象可以在創建後,任意添加屬性和函數
5.如何為object類型對象添加屬性函數:
1)object對象中[屬性名稱]都是字符串類型
2)添加屬性格式
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數據類型