![](/img/trans.png)
[英]List of areas missing support for ECMAScript/JavaScript in major browsers?
[英]Are there still ECMAScript 3 implementation differences in major browsers?
有人能指出在今天的瀏覽器中ECMAScript第3版的實施差異嗎? (Chrome,Safari,IE8,FF)
使用ECMAScript 3標准時我們是否安全(而不是FF和IE對JScript和JavaScript的擴展)?
好吧,當然還有實現錯誤,我必須處理的最嚴重的問題是JScript,即標准的Microsoft實現,例如:
FunctionExpressions的標識符只能在函數本身的內部范圍內訪問:
(function foo() {
alert(typeof foo); // "function"
})();
alert(typeof foo); // should be "undefined", on IE shows "function"
該錯誤出現在所有當前的IE版本上,它剛剛在IE9 Previews上得到修復。
實際上更糟糕的是,它創建了兩個函數對象,例如:
var foo = function bar() {};
if (typeof bar != 'undefined') { // the case of IE
alert(foo === bar); // false!!!
}
另一個眾所周知的JScript錯誤是“DontEnum Bug” ,如果其作用域鏈中的對象包含不可枚舉的屬性(具有{ DontEnum }
屬性),如果該屬性在其他對象上被遮蔽,則它將保持為非可枚舉的,例如:
var dontEnumBug = {toString:'foo'}.propertyIsEnumerable('toString');
它將在IE上評估為false
,這會在使用for-in
語句時導致問題,因為不會訪問屬性。
JScript是具有最多問題的實現 - 盡管IE9實現變得越來越好 - 。
推薦文章:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.