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