【前端】牛客練題積累——JavaScript

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()

參考:Ajax XMLHttpRequest對象的三個屬性以及open和send方法

 

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() 返回數組對象的原始值
相關文章
相關標籤/搜索