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還只是對靜態內容加速,
對動態加速效果不好;
而雙線對動態加速的效果跟靜態是壹樣的。