JavaScript方面:html
jquery事件響應:onfocus 得到焦點 onblur 失去焦點jquery
Flash提供了ExternalInterface接口與JavaScript通訊兩個方法:call和addCallback做用:call讓Flash調用js裏的方法,addCallback是用來註冊flash函數讓js調用。
js跨域問題:只要 協議 、 域名 、 端口 有任何一個 不一樣, 都被看成是不一樣的域。編程
call和apply:跨域
相同點:兩個方法產生的 做用是徹底同樣的數組
不一樣點:方法傳遞的參數不一樣瀏覽器
call, apply方法它們除了第一個參數,即執行時上下文對象相同外,call方法的其它參數將依次傳遞給借用的方法做參數,而apply就兩個參數,第二個參數爲一個數組傳遞。app
轉換爲false的值:false、「」(空字符串)、0和NAN、null、undefined異步
window.open(URL,name,features,replace) 默認打開一個新的窗口異步編程
JS禁用:Readonly只針對input(text/password)和textarea有效,而disabled對於全部的表單元素有效,包括select,radio,checkbox,button等。函數
setAttribute() 方法添加指定的屬性,併爲其賦指定的值。element.setAttribute(attributename,attributevalue)
在準備XMLHttpRequest對象時,在send()前須要調用open()
Object.keys(object)的返回值是 一個數組,其中包含對象的可枚舉屬性和方法的名稱。
Array.filter(function)對數組進行過濾返回符合條件的數組。
Ajax的優點:1.可搜索性 2.開放性 3.費用 4.易用性 5.易於開發。Flash的優點:1.多媒體處理 2.兼容性 3.矢量圖形 4.客戶端資源調度Ajax的劣勢:1.它可能破壞瀏覽器的後退功能 2.使用動態頁面更新使得用戶難於將某個特定的狀態保存到收藏夾中 ,不過這些都有相關方法解決。Flash的劣勢:1.二進制格式 2.格式私有 3.flash 文件常常會很大,用戶第一次使用的時候須要忍耐較長的等待時間 4.性能問題
setTimeout(code,millisec)方法用於在指定的毫秒數後調用函數或計算表達式。code是fun()時函數會當即執行。seTimeout(fun,1000)
setTimeout() 只執行 code 一次。若是要屢次調用,請使用 setInterval() 或者讓 code 自身再次調用 setTimeout()。
在 JS 裏,聲明函數只有 2 種方法:
第 1 種: function foo(){...} (函數聲明)
第 2 種: var foo = function(){...} (等號後面必須是匿名函數,這句實質是函數表達式)
除此以外,相似於 var foo = function bar(){...} 這樣的東西統一按 2 方法處理,即在函數外部沒法經過 bar 訪問到函數,由於這已經變成了一個表達式。
Math.ceil()執行向上舍入,即它老是將數值向上舍入爲最接近的整數;
Math.floor()執行向下舍入,即它老是將數值向下舍入爲最接近的整數;
Math.round()執行標準舍入,即它老是將數值四捨五入爲最接近的整數(這也是咱們在數學課上學到的舍入規則)。
Math.max()求參數中的最大值,若是沒有參數,則返回 -Infinity。若是有某個參數爲 NaN,或是不能轉換成數字的非數字值,則返回 NaN。
多人開發函數重名問題:
首先是經過命名規範,好比根據不一樣的開發人員實現的功能,在函數名加前綴,雖然函數名看起來複雜,發佈的時候仍是能夠替換,從而優化。
還有一種辦法是,每一個開發人員都把本身的函數封裝到類中,而後調用的時候即便函數名相同,可是由於是要類.函數名來調用,因此也減小了重複的可能性。
jQuery:
siblings() 方法返回被選元素的全部同胞元素。
next() 方法返回被選元素的下一個同胞元素。
find() 方法返回被選元素的後代元素,一路向下直到最後一個後代。
JavaScript內部對象:
Navigator:提供有關瀏覽器的信息Window:Window對象處於對象層次的最頂層,它提供了處理Navagator窗口的方法和屬性
Location:提供了與當前打開的URL一塊兒工做的方法和屬性,是一個靜態的對象
History:提供了與歷史清單有關的信息
Document:包含與文檔元素一塊兒工做的對象,它將這些元素封裝起來供編程人員使用
JavaScript異步編程的四種方法:
回調函數,這是異步編程最基本的方法。
事件監聽,另外一種思路是採用事件驅動模式。任務的執行不取決於代碼的順序,而取決於某個事件是否發生。
發佈/訂閱,上一節的"事件",徹底能夠理解成"信號"。
Promises對象,Promises 對象是CommonJS 工做組提出的一種規範,目的是爲異步編程提供統一接口。
JavaScript Array 對象方法
方法 | 描述 |
---|---|
concat() | 鏈接兩個或更多的數組,並返回結果。 |
join() | 把數組的全部元素放入一個字符串。元素經過指定的分隔符進行分隔。 |
pop() | 刪除並返回數組的最後一個元素 |
push() | 向數組的末尾添加一個或更多元素,並返回新的長度。 |
reverse() | 顛倒數組中元素的順序。 |
shift() | 刪除並返回數組的第一個元素 |
slice() | 從某個已有的數組返回選定的元素 |
sort() | 對數組的元素進行排序 |
splice() | 刪除元素,並向數組添加新元素。 |
toSource() | 返回該對象的源代碼。 |
toString() | 把數組轉換爲字符串,並返回結果。 |
toLocaleString() | 把數組轉換爲本地數組,並返回結果。 |
unshift() | 向數組的開頭添加一個或更多元素,並返回新的長度。 |
valueOf() | 返回數組對象的原始值 |