瀏覽器運行是基於 es3.0 + es5.0的新增方法 來執行。
對於es3.0 和 es5.0 的衝突問題。 若是使用es5.0嚴格模式,則使用es5.0方法。不然使用es3.0方法。
啓動es5.0模式方法:開頭加上 「use strict」; 添加到頁面邏輯最頂端。
也能夠添加到局部(推薦),只在局部起做用
es5嚴格模式:
一、不容許使用with(){};
with(){}函數:改變做用域,簡化代碼,命名空間的使用,當多人開發時,訪問不一樣人定義的變量。
with(){}用法2
直接調用document中的函數。
eval()函數 ,改變做用域,將字符串看作代碼執行(es3.0不能使用,es5.0可使用)
在 es5.0 模式下,
一、with arguments.collee fuc.caller 等函數不能用。
二、變量必須先申明(es3.0中未聲明直接使用的變量暗示全局變量)
三、局部this 必須先被賦值(es3.0中默認window)
四、拒絕相同的屬性和參數,報錯 (es3.0不報錯)