js總結


一、事件 1-26
1、onmousedown
定義:onmousedown事件會在鼠標按鍵被按下時發生

2、onmouseup
定義:onmouseup事件會在鼠標按鍵被松開時發生

3、onmousemove
定義:onmousemove事件會在鼠標指針移動時發生
支持該事件的js對象:document
但是onmousemove默認情況下沒有任何對象的一個事件;
因為鼠標移動頻繁發生。

4、onmouseover
定義:onmouseover事件會在鼠標指針移動到指定的對象上時發生

5、onmouseout
定義:onmouseout事件會在鼠標指針移出指定的對象時發生

6、onclick單擊事件
定義:onclick事件和onmousedown不同。單擊事件是在同一元素上發生了
鼠標按下時間之后發生了鼠標放開時間是發生的。
理解:鼠標按下抬起以后事件才發生。

7、onfocus光標移入事件
定義:onfocus事件在對象獲得焦點時發生

8、onblur光標移出事件
定義:onblur事件會在對象失去焦點時發生

9、oncontextmenu右鍵事件
鼠標按下右鍵的時候發生

10、onsubmit
onsubmit事件會在表單中的確認按鈕(submit)被
點擊是發生。

11、onkeydown
onkeydown事件會在用戶按下一個鍵盤按鍵時發生

12、onkeyup
obkeyup事件會在鍵盤按鍵被松開時發生

13、onload
onload事件會在頁面或圖像加載完成后立即發生

14、onscroll
onscroll事件拖動滾動條時發生

15、onresize
onresize事件會在窗口或框架被調整大小時發生

16、onmousewheel
onmousewheel事件ie、chrome下鼠標滾輪滾動時發生

17、DOMMouseScroll
DOMMouseScroll事件是標准下(ff)鼠標滾輪事件,
鼠標滾輪滾動時發生

18、onreadystatechange
onreadystatechange事件:當請求被發送到服務器時;
我們需要執行一些基於響應的任務。每當readyState
改變時,就會觸發onreadystatechange事件。
readyState屬性存有XMLHttpRequest的狀態信息。
在onreadystatechange事件中,我們規定當服務器響應
已做好被處理的准備時所執行的任務。


19、attachEvent綁定事件
ie下的綁定事件,2個參數,第一個什么事件,第二個執
行函數(倒序執行)。注意this指向
如:obj。attachEvent(‘onclick’,aaa)
function aaa(){}

20、addEventListener綁定事件
標准下的綁定事件,3個參數。1什么事件(不加ON),
2執行函數 3、一個布爾值。true是捕獲階段,false是
冒泡階段

21、event對象指事件的狀態

簡單的:一個 存了 事件詳細信息的東西


網上較專業的:Event對象代表事件的狀態,比如事件在其中發生的元素
鍵盤按鍵的狀態,鼠標的位置,鼠標按鈕的狀態,通常
與函數結合使用。

22、clientX、clientY
在Event對象下獲取鼠標位置

23、cancelBubble =true
在Event對象下取消冒泡事件

24、keyCode
在Event對象下獲取用戶按下鍵盤的哪個按鍵

25、preventDefault()
阻止默認默認事件的綁定寫法

26、return false
阻止默認時間的普通寫法

 

二、DOM 27-46
27、getElementById
通過id獲取某一個元素

28、getElementsByTagName
通過標簽名獲取一組元素的集合

29、childNodes
獲取子節點,但是標准下會獲取空白節點
獲取第一級子元素的節點

30、nodeType
節點類型
1)元素節點(標簽)2)文本節點(空白節點)

31、children
獲取子節點,但是沒有兼容性問題
獲取第一級子元素的節點

32、firstElementChild || firstChild
標准下:firstElementChild ie不支持
ie下是 firstChild
獲取子元素里的第一個

33、lastElementChild || lastChild
標准下:lastElementChild ie不支持
ie下是 lastChild
獲取子元素里的最后一個

34、nextElementSibling || nextSibling
標准下:nextElementSibling ie不支持
ie下 nextSibling
獲取子指定元素的下一個兄弟節點

35、previousElementSibling || previousSibling
標准下: previousElementSibling ie不支持
id:previousSibling
獲取指定元素的上一個兄弟節點

36、parentNode
獲取父節點

37、offsetParent
獲取有定位的父節點,都沒有定位的話父節點就是body

38、offsetWidth-----有問題
獲取元素的實際寬度(width+padding+border)

39、offsetHeight
獲取元素的高度(height+padding+border)

40、clientWidth
獲取元素的內部寬度(width+padding)

41、clientHeight
獲取元素的內部高度(height+padding)

42、createElement(標簽名)
創建一個節點

43、appendchild(節點)
追加一個節點

44、insertBefore(節點,原有節點)
在已有的元素前面插入

45、removeChild(節點)
刪除一個節點

46、replaceChild(節點,已有節點)
替換已有的節點

 

三、BOM操作: 47-53
47、window。open()
打開窗口

48、window。close()
關閉窗口,標准下不支持

49、window。location
獲取瀏覽器地址

50、window。location。href
獲取整體的網址

51、window。location。search
獲取問號?后面的內容,包括問號

52、window。location。hash
獲取警號#后面的內容,包括警號

53、window。location。reload()
自動刷新,定時器配合

53、window。navigator。userAgent
獲取瀏覽器信息

 

四、js基礎: 54-126
54、if else 如果。。。。否則。。。

55、switch 如果

56、?: 三木,就是如果。。。否則。。。

57、for(){} for循環

58、for in

59、while=for

60、continue 終止本次循環
if(i=2)continue 跳過這個條件

61、break 終止當前循環
if(i=3)break 結束本次

62、undefined 未定義

63、null=========?

64、=== 只比較,不轉換類型

65、== 不僅比較,而且還會將兩個東西轉換成相同的類型

66、= 賦值

67、! 就是 不 的意思

68、setTimeout
設置定時器,2秒鍾后,執行一次,並且只執行一次,---定時炸彈

69、clearTimerout
清楚定時器,清理setTimerout

70、setInterval
設置定時器,每兩秒執行一次

71、clearInterval
清楚定時器,清理setInterval

72、arguments
實參的元素集合

73、call
改變this取向
fn名.call(this,‘black’)第一個參數是函數之行的環境,
從第二個參數開始,才是函數的真正參數

oDiv.onclick = function(){
toChange.call(this,'black');
};
function toChange(sColor){
this.style.background = sColor;
}

74、apply
改變this取向,
function show(a, b)
{
alert('this是:'+this+'\na是:'+a+'\nb是:'+b);
}
show(12, 8);
show.apply(document, [12, 8]);
第二個參數是以數組形勢存在的

75、callee ===============?調用這個函數自身的


76、var arr=【】; 聲明一個數組

77、var arr=new Array() 聲明一個數組

78、push
向數組的末尾添加一個或更多元素,並返回新的長度

79、pop
刪除數組最后一個元素,並返回這個元素

80、shift
刪除數組第一個元素,並返回這個元素

81、unshift
向數組的開頭添加一個或多個元素,並返回新的長度

82、splice
刪除元素,並向數組添加新的元素

83、join()
把數組的所有元素放入一個字符串。元素通過指定
的分隔符進行分隔

84、sort()
對數組的元素進行排序

85、concent----concat()?
連接兩個數組或者多個數組,並返回結果

86、split
分割字符串,獲得數組

87、substring
獲取字符串
包括開始不包括結束

88、indexOf
從前往后檢索字符串

89、charAt
獲取某個字符

90、var re=//; 聲明一個正則對象

91、var re=new RegExp() 聲明一個正則對象

92、search 查找一個字符串,只找第一次出現的位置

93、month ===============?
match-匹配符合正則的東西,挑東西返回數組


94、test 用正則檢驗字符串是否符合它所規定的規則

95、replace 替換,把符合規則的東西替換成字符串

96、量詞:{n,m}至少出現n次,最多出現m次
+許多
* {0,} 0到任意次
?零次或者一次{0,1}
{n,}最少n次,最多不限
{,m}最少不限最多m次
{n}正好n次

97、字符類:
1[abc]2 1和2中間出現a或b或c
[^0-9]排除數字以外所有都可以
[a-z]所有的英文
[0-9]所有的數字

98、標識: i 忽略大小寫 g 全局匹配

99、首尾: ^ $

100、轉義:
\d 查找數字 [0-9]
\D 除了數字[^0-9]
\s 空白
\b 單詞邊界
\w 數字字母下划線--用戶名
. 任意字符
\. 代表.本身

101、var oDate= new Date() 獲取當前時間

102、getHours() 獲取小時

103、getMinutes() 獲取分鍾

104、getSeconds() 獲取秒

105、getFullYear() 獲取年

106、getDay() 獲取星期

107、getDate() 獲取當前的時間日期

108、setDate() 設置一個月的某一天

109、var oImg=new Image() 創建一個image對象

110、什么叫ajax
通過XMLHttpRequest與服務器通信,進行無刷新操作

ajax采用的是異步請求

111、同步與異步的區別

同步就是同一時間做一件事
異步就是同一時間做多件事

112、ajax的交互方式
1)發送數據並返回 ()(注冊)
2)只發送不返回 ()========?例子
3)不發送只返回 (股票)

113、post與get的區別
1)發送方式不一樣:get加載網址問好后面的
post把數據放在一個傳輸體中發送上去的

2)安全不一樣
post相對安全,get不安全

3)網址長度不一樣
ie下get網址超過2048字節將被截斷
post沒有上限

4)緩存問題
get可以緩存網址,post不會緩存網址

5)用途不一樣
get:查詢數據,post修改數據

114、發送數據是什么樣的?
串聯化數據:key1=value1&key2=value2

115、返回數據是什么樣的?
返回的是字符串

116、跨域:jsonp?
(利用script標簽跨域)
在頭部創建個script標簽,
改變script標簽中src

117、ajax的編寫步驟?
1)創建ajax對象(要有手機)
2)鏈接服務器open(撥號)
3)監聽數據返回onreadystatechange(聽)
4)發送數據send(說)
5)close(忽略)(掛了)

118、json怎么取?=========?
通過串聯化數據

119、什么是對象?
對象是一個整體,對外提供一些操作。||
黑盒子,看不到內部的樣子,
能看到表面的按鈕

120、什么是面向對象?
使用對象時,只關注對象提供的功能,
不關注其內部細節,比如jQuery ||
使用一個東西的時候,不去管內部是
怎么做的,只用好它的功能


121、引用類型是什么意思?=========?


122、this的本質其實就是這個方法或者函數
屬於哪個對象的,this就是誰。函數前面有new
的時候this會失效。

123、原型是什么? =========?
原型就是給一類對象加東西

124、面向對象怎么寫?=========?

125、繼承采用什么方式?
采用原型鏈的方式繼承

126、面向對象變成的特點?
封裝、繼承、多態

 


五、常用技巧:
1、加開關:bBtn
例如:
<script>
window.onload = function(){
var aLi = document.getElementsByTagName('li');
var aImg = document.getElementsByTagName('img');

for(var i=0;i<aLi.length;i++){
aLi[i].bBtn = true; // ------設置開關
aLi[i].index = i;

aLi[i].onclick = function(){

if(this.bBtn){
aImg[this.index].src = 'on' + this.index + '.png';
this.bBtn = false;
}

else{
aImg[this.index].src = 'off' + this.index + '.png';
this.bBtn = true;
}

};
}
};
</script>


2、加索引:index;
例如:
<script>
window.onload=function()
{
var oBtn=document.getElementById('btn');
var aBtn=oBtn.getElementsByTagName('input');

var oText=document.getElementById('text');
var aDiv=oText.getElementsByTagName('div');

for(var i=0; i<aBtn.length; i++)
{
aBtn[i].index=i; //先添加索引值
aBtn[i].onclick=fn1;
}
function fn1()
{
alert(this.index); //后獲取索引值

aDiv[this.index].style.background='yellow';
}
};
</script>

 

3、遞歸===============?

4、枚舉================?

5、定時器:
setInterval()

6、alert
console。log=========?這是啥意思


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM