JavaScript红宝书 - 更新中
  • JavaScript 高级程序设计
  • 章节内容
    • 1. JavaScript 简介
    • 2. 在 HTML 中使用 JavaScript
    • 3. JavaScript 基本概念
    • 4. 变量、作用域和内存问题
    • 5. 引用类型
    • 6. 面向对象的程序设计
    • 7. 函数表达式
    • 8. BOM
    • 9. 客户端检测
    • 10. DOM
    • 11. DOM 扩展
    • 12. DOM2 和 DOM3
    • 13. 事件
    • 14. 表单脚本
    • 15. 使用 Canvas 绘图
    • 16. HTML5 脚本编程
    • 17. 错误处理与调试
    • 18. JavaScript 与 XML
    • 19. E4X
    • 20. JSON
    • 21. Ajax 与 Comet
    • 22. 高级技巧
    • 23. 离线应用与客户端存储
    • 24. 最佳实践
    • 25. 新兴的 API
  • 数据类型
    • Undefined
    • Null
    • Boolean
    • Number
    • String
    • Object
  • 引用类型
    • Array
    • Object
    • Function
    • Date
    • RegExp
    • 基本包装类型
    • 单体内置对象
  • 专项练习
    • 操作符
    • 语句
    • 数组
    • 函数
  • 附录
    • 操作符特殊规则
    • 严格模式规则
    • 兼容性汇总
Powered by GitBook
On this page
  • 严格模式
  • 数组
  • 函数
  • 日期
  • 字符串
  • 对象
  • window

Was this helpful?

  1. 附录

兼容性汇总

严格模式

  • "use strict"; 支持 IE10+、FireFox4+、Safari5.1+、Opera12+、Chrome;

数组

  • 支持 Array.isArray() 方法的浏览器有 IE9+、 Firefox 4+、 Safari 5+、 Opera 10.5+和 Chrome ;

  • IE7 及更早版本对 JavaScript 的实现中存在一个偏差,其 unshift() 方法总是返回 undefined 而不是数组的新长度。 IE8 在非兼容模式下会返回正确的长度值;

  • indexOf() 和 lastIndexOf() 方法查找特定项在数组中的位置非常简单,支持它们的浏览器包括 IE9+、 Firefox 2+、 Safari 3+、 Opera 9.5+和 Chrome ;

  • 支持ES5迭代方法 every()、filter()、forEach()、map()、some() 的浏览器有IE9+、 Firefox 2+、 Safari 3+、 Opera 9.5+和 Chrome ;

  • 支持ES5归并方法 reduce()、reduceRight() 的浏览器有 IE9+、 Firefox 3+、 Safari 4+、 Opera 10.5 和 Chrome ;

函数

  • IE、 Firefox、 Chrome 和 Safari 的所有版本以及 Opera 9.6 都支持 caller 属性 ;

  • 支持 bind() 方法的有 IE9+、 Firefox 4+、 Safari 5.1+、 Opera 12+和 Chrome ;

日期

  • 支持 Data.now() 方法的浏览器包括 IE9+、Firefox 3+、Safari 3+、Opera 10.5 和 Chrome。在不支持它的浏览器中,使用 + 操作符把 Data 对象转换成字符串,也可以达到同样的目的。

字符串

  • 括号表示法访问个别字符的语法得到了 IE8 及 Firefox、Safari、Chrome 和 Opera 所有版本的 支持。如果是在 IE7 及更早版本中使用这种语法,会返回 undefined 值(尽管根本不是特殊的 6 undefined 值)。

    var str = 'hello'
    console.log(str[1])
  • 支持 trim() 方法的浏览器有 IE9+、Firefox 3.5+、Safari 5+、Opera 10.5+和 Chrome。此外,Firefox 3.5+、Safari 5+ 和 Chrome 8+还支持非标准的 trimLeft() 和 trimRight() 方法,分别用于删除字符串开头和末尾的空格;

对象

  • 访问器属性 getter 和 setter 函数支持的浏览器有 IE9+(IE8 只是部分实现)、Firefox 4+、Safari 5+、Opera 12+和 Chrome;

  • 支持 Object.defineProperties() 方法的浏览器有 IE9+、Firefox 4+、Safari 5+、Opera 12+和 Chrome;

  • Object.getOwnPropertyDescriptor() 方法。支持这个方法的浏览器有 IE9+、Firefox 4+、Safari 5+、Opera 12+和 Chrome;

  • Object.getPrototypeOf() 方法。支持这个方法的浏览器有 IE9+、Firefox 3.5+、Safari 5+、Opera 12+和 Chrome;

  • Object.keys() 和 Object.getOwnPropertyNames() 方法。支持这两个方法的浏览器有 IE9+、Firefox 4+、Safari 5+、Opera 12+和 Chrome;

  • Object.create() 支持该方法的浏览器有 IE9+、Firefox 4+、Safari 5+、Opera 12+和 Chrome;

window

  • IE9+、Firefox、Safari、Opera 和 Chrome 均为此提供了4个属性: innerWidth 、 innerHeight 、 outerWidth 和 outerHeight 。

Previous严格模式规则

Last updated 5 years ago

Was this helpful?