登录/注册

es5

更多

好的!ES5(ECMAScript 2009)是 JavaScript 的核心语言标准之一。它在 ES3 的基础上增加了许多重要特性,并在相当长一段时间内是主流浏览器广泛兼容的基准版本。

以下是 ES5 中引入的一些关键特性(用中文解释):

  1. 严格模式 ("use strict";):

    • 在脚本文件或函数顶部添加 "use strict"; 启用。
    • 目的:强制执行更严格的解析和错误处理,帮助开发者避免常见错误和“不安全”的操作(如未声明变量、删除不可删除的属性、重复参数名等),使代码更健壮、安全,并为未来版本铺路。
  2. JSON 支持:

    • 原生添加了 JSON 对象。
    • 包含两个核心方法:
      • JSON.parse():将 JSON 字符串解析成 JavaScript 对象。
      • JSON.stringify():将 JavaScript 对象(或值)序列化为 JSON 字符串。
    • 极大简化了与服务器交换数据的操作,不再需要外部库。
  3. 新的数组方法:

    • 引入了强大的高阶函数,用于遍历、操作和检测数组:
      • Array.isArray():判断一个值是否是数组。
      • indexOf() / lastIndexOf():在数组中查找元素的索引。
      • every():检测数组内是否所有元素都满足指定条件(函数)。
      • some():检测数组内是否至少有一个元素满足指定条件(函数)。
      • forEach():对数组的每个元素执行一次提供的函数(相当于循环的替代)。
      • map():创建一个新数组,其结果是该数组中每个元素调用一次提供函数后的返回值。
      • filter():创建一个新数组,包含通过所提供函数测试的所有元素
      • reduce() / reduceRight():对数组中的每个元素执行一个提供的 reducer 函数(升序/降序),将其结果汇总为单个返回值(常用于求和、求积、找最大值最小值等累积操作)。
  4. 新的对象方法:

    • Object.keys():返回一个包含指定对象自身可枚举属性名称的数组。
    • Object.create():创建一个新对象,使用现有的对象来作为新创建对象的原型(__proto__)。这是实现原型式继承的核心方法(替代 new 构造函数的另一种模式)。
    • 属性描述符控制 (更精细地定义对象属性):
      • Object.defineProperty():直接在对象上定义一个新属性,或修改对象的现有属性,并返回此对象。可以配置:
        • value: 属性的值。
        • writable: 属性值是否可被赋值运算符改变(=)。
        • enumerable: 属性是否出现在对象的枚举属性中(如 for...in 循环或 Object.keys())。
        • configurable: 属性描述符是否可被更改或属性是否可被删除。
      • Object.defineProperties():同时定义或修改多个属性。
      • Object.getOwnPropertyDescriptor():获取对象上某个属性的描述符。
    • 原型相关
      • Object.getPrototypeOf():获取指定对象的原型(内部 [[Prototype]] 属性的值,等同于 __proto__)。
    • 防止扩展/修改
      • Object.preventExtensions():防止对象添加新属性。
      • Object.seal():防止添加新属性并将所有现有属性标记为不可配置 configurable: false(此时属性不可删除)。
      • Object.freeze():冻结对象:无法添加新属性、无法删除属性、无法更改可写属性的值、无法修改属性描述符。最高级别的不可变性
    • 状态检查
      • Object.isExtensible() / Object.isSealed() / Object.isFrozen():检查对象是否处于对应状态。
  5. 函数方法 .bind(thisArg):

    • 创建一个新函数,当调用时,将其 this 关键字设置为提供的值(thisArg),并在调用时提供给定的参数序列(后续参数)。
    • 用于显式地绑定函数的执行上下文(this),在回调函数、事件处理中特别有用。
  6. Getter 和 Setter:

    • 允许在对象字面量或通过 Object.defineProperty 定义属性时,使用 getset 语法。用于创建访问器属性,在读取 (get) 或设置 (set) 属性值时可以执行自定义逻辑。
  7. 新增的字符串方法:

    • String.prototype.trim():从字符串两端删除空白字符。
  8. 日期处理:

    • 新增了 Date.now() 方法,获取当前时间的 UTC 时间戳(毫秒数)。

总结 ES5 的意义:

你想了解 ES5 的某个具体特性、用法,还是它与 ES6 的区别?或者你需要 ES5 的实例代码?可以告诉我你的具体需求。

ES302演示板:探索语音芯片的魅力

ES302演示板:探索语音芯片的魅力 在电子设备的世界里,语音芯片的应用越来越广泛,其语音质量和功能特性备受关注。今天,我们就来深入了解一下ES302演示板,它能让我们直观感受3伏语音芯片的魅力

2026-07-10 15:15:14

安森美ES3A - ES3J快速整流器:设计与应用解析

安森美ES3A - ES3J快速整流器:设计与应用解析 作为电子工程师,在设计电路时,整流器是不可或缺的组件。今天,我们来深入了解安森美(onsemi)的ES

2026-05-12 14:05:13

onsemi ES2A - ES2D 快速整流器:设计与性能解析

onsemi ES2A - ES2D 快速整流器:设计与性能解析 在电子设计领域,整流器是不可或缺的基础元件,其性能直接影响到整个电路的效率和稳定性。今天,我们就来深入探讨 onsemi 公司推出

2026-05-12 13:55:19

永裕泰 二极管 ES5A THRU ES5J SMC

超快恢复二极管ES5ATHRUES5JSMC

资料下载 YONGYUTAI 2022-10-08 15:44:30

永裕泰 二极管 ES5A THRU ES5J SMBF

超快恢复二极管ES5ATHRUES5JSMBF

资料下载 YONGYUTAI 2022-10-08 15:44:29

ES5AC THRU ES5JC SMC规格书下载

ES5AC THRU ES5JC SMC规格书下载

资料下载 MDD辰达半导体 2022-01-25 15:43:08

ES5ABF-THRU-ES5JBF规格书下载

ES5ABF-THRU-ES5JBF规格书下载

资料下载 MDD辰达半导体 2021-12-24 17:37:26

ES5A-THRU-ES5J-SMB规格书下载

ES5A-THRU-ES5J-SMB规格书下载

资料下载 MDD辰达半导体 2021-12-24 14:50:46

安捷伦8722ES 8720ES 8753ES网络分析仪

1970-01-01 08:00:00 至 1970-01-01 08:00:00

上汽MG品牌在海拉尔开展极寒测试

2025年2月23日,上汽MG品牌在海拉尔基地进行极寒测试项目全体系验收。本次行动代号“破迷信”,携MG7、MG Cyberster、MG ES5等主力车型与豪华品牌同台竞技,用四大极限场景的性能实测重新定义国产车的技术边界。

2025-02-25 10:13:23

IKW50N65ES5

1970-01-01 08:00:00 至 1970-01-01 08:00:00

C2777-CT150-4-ES5

TOOL HAND CRIMP FOR ES5 SERIES

2023-03-29 20:15:38

for循环和forEach的差异

for循环是js提出时就有的循环方法。forEach是ES5提出的,挂载在可迭代对象原型上的方法,例如Array Set Map。forEach是一个迭代器,负责遍历可迭代对象。那么遍历 ,迭代 ,可迭代对象 分别是什么呢。

2022-10-11 11:10:07

es5es6面向对象的统一写法概述

es5es6面向对象

2019-07-29 16:46:50
7天热门专题 换一换
相关标签