當前位置:編程學習大全網 - 圖片素材 - Web前端5道面試題

Web前端5道面試題

1.請說明ECMAScript,JavaScript,Jscript之間的關系?

ECMAScript提供腳本語言必須遵守的規則、

細節和準則,是腳本語言的規範。

比如:ES5,ES6就是具體的壹js版本。

JavaScript是ECMAScript的壹個分支版本,

JavaScript實現了多數ECMA-262中

描述的ECMAScript規範,但存在少數差異。

JScript是微軟公司對ECMA-262語言規範的

壹種實現,除了少數例外(這是為了保持向後兼容),

微軟公司宣稱JScript完全實現了ECMA標準.

關系:

JavaScript和JScript都是ECMAScript的版本分支,

二者在語法上沒有多大的區別;

只不過壹個是NetScape公司的,壹個是微軟的;

IE系列默認是JScript,其它的則反之用JavaScript。

2.頁面加載過程中可能觸發哪些事件?它們的順序是?

頁面加載時,大致可以分為以下幾個步驟:1)開始解析HTML文檔結構2)加載外部樣式表及JavaScript腳本3)解析執行JavaScript腳本4)DOM樹渲染完成5)加載未完成的外部資源6)頁面加載成功

執行順序:1)documentreadystatechange事件2)documentDOMContentLoaded事件3)windowload事件

3.函數中在聲明變量a前使用a會產生錯誤嗎?為什麽?

不會,JS中能夠進行變量作用域提升,

把所有變量、函數的聲明提升到當前

作用域的最前面,但不進行賦值操作;

所以可能造成獲取的值是undefined。

4.什麽是hash,以及hashchange事件?

先了解下什麽是hash:hash即URL中"#"字符後面的部分。

a)使用瀏覽器訪問網頁時,

如果網頁URL中帶有hash,

頁面就會定位到id(或name)

與hash值壹樣的元素的位置;

b)hash還有另壹個特點,

它的改變不會導致頁面重新加載;

c)hash值瀏覽器是不會隨請求發送到服務器端的;

d)通過window.location.hash屬性獲取和設置hash值。

window.location.hash值的變化會直接

反應到瀏覽器地址欄(#後面的部分會發生變化),同時,瀏覽器地址欄hash值的變化也會觸發

window.location.hash值的變化,

從而觸發onhashchange事件。

再來了解下什麽是hashchange事件:

a)當URL的片段標識符更改時,

將觸發hashchange事件(跟在#符號後面的URL部分,包括#符號)b)

hashchange事件觸發時,

事件對象會有hash改變前的URL(oldURL)和hash改變後的URL(newURL)兩個屬性。

5.什麽是CDN,CDN對於網站有什麽意義,它有什麽樣的缺點?

CDN又稱為內容分發網絡;本意在於

盡可能避開互聯網上有可能影響數據

傳輸速度和穩定性的瓶頸和環節,

使內容傳輸的更快、更穩定。

主要目的:

解決因分布、帶寬、服務器性能帶來的訪問延遲問題,

適用於站點加速、點播、直播等場景。

使用戶可就近取得所需內容,解決Internet網絡擁擠的狀況,

提高用戶訪問網站的響應速度和成功率。

缺點:

a)實施復雜,投資大;

b)目前大部分的CDN還只是對靜態內容加速,

對動態加速效果不好;

而雙線對動態加速的效果跟靜態是壹樣的。

  • 上一篇:手機相冊回收站在哪
  • 下一篇:看電子書哪個軟件好用?
  • copyright 2024編程學習大全網