前端面試必問題

1.談談你對ajax的理解?(概念,特色,做用,代碼)

ajax是指一種建立交互式網頁應用的開發技術,改善用戶體驗,實現無刷效果。web

優勢:不須要插件的支持,優秀的用戶體驗,提升web程序性能,減輕服務器和帶寬的負擔ajax

缺點:破環瀏覽器的「前進」,「後退」按鈕的正常功能,是能夠經過簡單的插件彌補json

代碼:跨域

var xhr=new XMLHttpRequest()瀏覽器

var url="https://home.firefoxchina.cn"//要請求的地址服務器

xhr.open('get',url,true)網絡

xhr.onreadystatechange=function(){cors

if(xhr.readyState===4&&xhr.status===200){性能

var data=JSON.parse(xhr.responseText).result.data;jsonp

console.log(data);

            for(var i=0;i<data.length;i++){

              //條件體

            

            }

    }

xhr.send();

}

2.什麼是跨域,如何實現跨域訪問?

跨域是指不一樣域名之間的訪問。

實現:

(1)JSONP跨域:利用script腳本容許引用不一樣下域下的js實現的,將回調方法帶入服務器,返回結果時

回調。

(2)跨域資源共享(cors)

跨域資源共享是一種網絡瀏覽器的技術規範它爲web服務器定義一種方式,容許網頁從不一樣的域訪問其資源

cors與jsonp相比

a,JSONP只能實現get請求,而cors支持全部類型的http請求。

b,使用CORS,開發者能夠使用普通的XMLHttpRequest發起請求和得到數據,比起JSONP有更好的錯誤處理

c,JSONP主要被老的瀏覽器支持,他們每每不支持CORS,而絕大多數現代瀏覽器都已經支持了CORS