摘要:設定瀏覽器屬性的屬性的方法叫做駝峰式命名是函數名方法名和對象屬性名的命名首選格式。由瀏覽器預先定義的對象被稱為宿主對象。在給某個元素添加了事件處理函數后,一旦事件發生,相應的代碼就會執行。
1.JavaScript是一個使網頁具有交互能力的程序設計語言。
2.設定瀏覽器屬性的屬性的方法叫做BOM.
3.駝峰式命名(myMood)是函數名、方法名和對象屬性名的命名首選格式。
4.命名變量的時候可以用下劃線來分隔每個單詞,命名函數的時候使用駝峰式命名。
5.函數在行為方面應該像一個自給自足的腳本,在定義一個函數時,我們一定要把他內部的變量全都明確地聲明為局部變量。
6.由瀏覽器預先定義的對象被稱為宿主對象。宿主對象包括From、Image,document等。
7.DOM(document object model)。
8.在DOM中有元素節點(標簽)(文檔中每一個元素都是一個對象)、文本節點(內容)、屬性節點(屬性)。
9.即使在整個文檔中這個標簽只有一個元素,getElementsByTagName也返回一個數組,此時數組的長度是1.。
10.getElementsByClassName返回的是一個具有相同類名的元素的數組。
11.使用getElemntsByClassName指定多個類名的時候,只需要在參數的時候將多個類名以空格隔開
。
12.getElementsById返回的是一個對象,對象對應著文檔里的一個特殊的元素節點
。
13.getAttribute和setAttribute兩個函數都只能用于元素節點。
14.DOM的工作模式:先加載文檔的靜態內容,再動態刷新,動態刷新不影響文檔的靜態內容,對頁面內容進行刷新卻不需要在瀏覽器里刷新頁面。
15.在給某個元素添加了事件處理函數后,一旦事件發生,相應的JavaScript代碼就會執行。被調用的JavaScript代碼可以返回一個值,這個值就會被傳遞給事件處理函數。假設在a標簽onclick里面指定事件處理函數,當這個函數返回一個true的時候,onclick事件就會認為a標簽中的鏈接被點擊了,如果返回的是false就會被認為這個鏈接2沒有被點擊。所以,如果想要不觸發a標簽中的默認行為,在onclick里面添加一句return false。
16.childNodes屬性可以用來獲取任何一個元素的所有子元素,它是一個包含這個元素全部子元素的數組。
17.要想知道一個節點的類型,可以使用nodeType來查看節點的類型
nodeType=1 節點為元素節點
=2 屬性節點 =3 文本節點
18.window.open()打開一個新的瀏覽器窗口。
function popUrl(winURL) { window.open(winURL,"popup","width:320px,height:400px"); } popUrl("canvas.html");
19.平穩退化(當瀏覽器不支持js代碼的時候不影響網頁的正常功能。)
20.性能考慮
(1)盡量少訪問DOM:不管什么時候,只要是查詢DOM中的某些元素,瀏覽器都會搜索整個DOM樹,從中查找可能匹配的元素。換句話就是或每次使用getElementBy*的時候都會遍歷整個DOM樹,所以最好是使用一次來獲得元素并將元素存儲在一個變量當中。
(2)盡量少使用標記:過多不必要的元素只會增加DOM樹的規模,進而增加遍歷DOM樹以查找特定元素的時間。
(3)包含腳本的最佳方式就是使用外部文件,并將多個js文件合并在一起。就可以減少加載頁面時發送的請求數量。
(4)把所有Script標簽都放在文檔的末尾,body標簽結束之前,就可以讓頁面變得更快。
(5)壓縮腳本:把腳本文本中不必要的字節,如空格和注釋統統刪除,從而達到壓縮文件的目的。
21.HTTP協議規范,瀏覽器每次從同一個余名中最多能同時下載兩個文件。
22.如果想用JavaScript給某個網頁添加一些行為,就不應該讓JavaScript代碼對這個網頁的結構有任何依賴。
23.如果一個函數有多個出口,將這些出口集中安排在函數的開頭部分。
24.循環判斷一組a標簽被點擊后所做的js處理
function prepareGallery() { if (!document.getElementById) return false; if (!document.getElementsByTagName) return false; if (!document.getElementById("imagegallery")) return false; var gallery = document.getElementById("imagegallery"); var links = gallery.getElementsByTagName("a"); for (var i = 0; i < links.length; i++){ links[i].onclick = function () { showpic(this); return false; } } }
25.addLoadEvent():自己編寫腳本函數,用來添加頁面加載的時候需要處理的函數
function addLoadEvent(func) { var onload = window.onload; if (typeof window.onload !=func){ window.onload = func; }else { window.onload = function (ev) { oldload(); func(); } } }
26.createTextNode用來創建文本節點
var txt = document.createTextNode("hello world");
27.js想要在文檔里面插入內容的時候,要從dom的角度出發。例如在div里面插入一個p段落:
var p = document.createElement("p"); var txt = document.creatTextNode("hello world"); var div = document.getElementById("mydiv"); div.appendChild(p); p.appendChild(txt);
28.insertBefore(),:在元素的前面插入元素,
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96287.html
摘要:也就是說,仍將看到一條消息。這些語句執行完畢后,變量的值將是,盡管循環控制條件的求值結果是。循環最常見的用途之一是對某個數組里的全體元素進行遍歷處理。變量對于數組中每個元素都是從開始按遞增。 循環語句 if語句唯一的不足是無法完成重復性的操作。在if語句里,包含在花括號里的代碼塊只能執行一次。如果需要多次執行同一個代碼塊,就必須使用循環語句。 while循環 while循環與if語句非...
摘要:事實上,每個函數實際是一個短小的腳本。先對函數做出定義再調用是一個良好的編程習慣。可以將不同的數據傳遞給它們,而它們將使用這些數據去完成預定的操作。傳遞給函數的數據稱為參數。這個例子中,變量的值將是,這個數值由函數返回。 函數 如果需要多次使用同一段代碼,可以把它們封裝成一個函數。函數就是一組允許在你的代碼里隨時調用的語句。事實上,每個函數實際是一個短小的腳本。 先對函數做出定義再調用...
摘要:邏輯非操作符只能作用于單個邏輯操作數,其結果是把那個邏輯操作數所返回的布爾值取反。如果那個邏輯操作數所返回的布爾值是,邏輯非操作符將把它取反為為了避免產生歧義,上面這條語句把邏輯操作數放在了括號里,使邏輯非操作符作用于括號里的所有內容。 算術操作符 加減乘除這些算術操作中的每一種都必須借助于相應的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號。等號(=)、加...
摘要:邏輯非操作符只能作用于單個邏輯操作數,其結果是把那個邏輯操作數所返回的布爾值取反。如果那個邏輯操作數所返回的布爾值是,邏輯非操作符將把它取反為為了避免產生歧義,上面這條語句把邏輯操作數放在了括號里,使邏輯非操作符作用于括號里的所有內容。 算術操作符 加減乘除這些算術操作中的每一種都必須借助于相應的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號。等號(=)、加...
摘要:邏輯非操作符只能作用于單個邏輯操作數,其結果是把那個邏輯操作數所返回的布爾值取反。如果那個邏輯操作數所返回的布爾值是,邏輯非操作符將把它取反為為了避免產生歧義,上面這條語句把邏輯操作數放在了括號里,使邏輯非操作符作用于括號里的所有內容。 算術操作符 加減乘除這些算術操作中的每一種都必須借助于相應的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號。等號(=)、加...
閱讀 1129·2021-10-27 14:13
閱讀 2636·2021-10-09 09:54
閱讀 897·2021-09-30 09:46
閱讀 2424·2021-07-30 15:30
閱讀 2166·2019-08-30 15:55
閱讀 3409·2019-08-30 15:54
閱讀 2847·2019-08-29 14:14
閱讀 2771·2019-08-29 13:12