原生js大總結十

2022-07-21 17:30:24 字數 2212 閱讀 6925

91、ajax的優點

a、提高執行效率

b、提高使用者體驗,讓多件事情同時發生

c、在不重新整理頁面的情況下可以對區域性資料進行載入和重新整理

92、ajax請求的流程

1、建立通訊物件

a、ie7及其以上版本中支援原生的 xhr 物件,因此可以直接使用

b、ie6及其之前版本中,xhr物件是通過msxml庫中的乙個activex物件實現的

2、鏈結和傳送

xhr.open('get','',true)

b、get 請求方式是通過url引數將資料提交到伺服器的,post則是通過將資料作為 send的引數傳遞

c、xhr.send() 傳送請求

3、監聽伺服器是否返回資料

a、使用onreadystatechange事件監聽伺服器返回狀態

xhr.onreadystatechange = function()

93、http的狀態有哪些(常用的)?(xml.status)

100——客戶必須繼續發出請求

101——客戶要求伺服器根據請求轉換http協議版本

200——交易成功

304——客戶端已經執行了get,但檔案未變化

404——沒有發現檔案、查詢或url

500——伺服器產生內部錯誤

505——伺服器不支援或拒絕支請求頭中指定的http版本

94、ajax的狀態值有哪些?(xml.readystate)

0-未初始化,尚未呼叫open()方法

1-啟動,呼叫open()方法,已呼叫send()的方法,正在傳送請求

2-傳送,已經呼叫send()方法,已接受到響應

3-解析   正在解析響應資料

4、完成,響應資料解析完成,客戶端可以呼叫;(我們都是使用xhr.readystate == 4 判斷ajax請求是否結束)

95、什麼是同源策略?

同源指的是網域名稱、協議、埠號相同

同源策略規定了js**的訪問許可權,只能訪問和自己同源的頁面。

同源策略是一種約定,它是瀏覽器最核心也最基本的安全功能

96?什麼是跨域?如何解決跨域? jsonp的原理?

1、由於瀏覽器的同源策略,即屬於不同域的頁面之間不能相互訪問各自的頁面內容。

2、cors和jsonp

3、利用瀏覽器的"漏洞" src不受同源策略的影響,可以請求任何鏈結 。動態建立script標籤,將事先寫好的函式名傳給伺服器,供伺服器使用

97、什麼是jsonp?

jsonp是一種非正式傳輸協議,用於解決跨域問題

98、jsonp跨域的流程

1、建立乙個全域性函式

2、建立乙個script標籤 

3、給script新增src

4、給src新增**函式test(callback=test) callback是傳給後端的乙個引數

5、將script放到頁面上

6、script請求完成,將自己從頁面上刪除

99、簡術你對promise的理解

1、什麼是promise?

非同步操作的同步**

2、promise的基本使用

通過new promise建立乙個promise物件,裡面有乙個引數,引數是乙個**函式,**函式中有2個引數,resolve,reject  resolve()當非同步執行成功的時候呼叫的方法,reject()當非同步失敗的時候呼叫的方法。

除此之外promise有乙個then方法,當成功的時候執行第乙個**函式,當失敗的時候執行第二個**函式。第二個**函式也可以通過promise物件.catch呼叫

3、promise.all():當所有的非同步**都執行完畢以後才會執行.then中的操作

4、promise.race():只要有乙個promise執行完畢後就會執行.then操作

100、如何實現多個非同步同步執行

var p1 = new promise(function(resolve,reject),3000)

})function p2(),2000)})}

function p3(),1000)})}

function p4(),500)})}

p1.then(function())

.then(function())

.then(function())

原生js大總結十一

101 請簡述prototype proto constructor三者的關係 1 prototype 每乙個函式都有乙個prototype這個屬性,而這個屬性指向乙個物件,這個物件我們叫做原型物件 作用 a 節約記憶體 b 擴充套件屬性和方法 c 可以實現類之間的繼承 2 proto 1 每乙個物...

原生js大總結五

041 在js中如何用方法將10進製的字元轉換成16進製制和8進製 數字.tostring 16 數字.tostring 8 042 如何建立時間物件 new date 043 如何建立未來或者過去的時間物件 var d new date 2017 10 20 22 22 22 var d new ...

原生js總結 乾貨

1.js基本資料型別 number string boolean underfined null 2.查詢文件中的特定元素 document.getelementbyid id document.getelementbytagname div document.getelementbyclassna...