ECMAscript5-新特性
ECMAscript5特性这些是2009年发布的新特性“use strict”指令1.String.trim()2.Array.isArray()3.Array.forEach()4.Array.map()5.Array.filter();6.Array.reduce();7.Array.reduceRight()8.Array.every();9.Array.some();10.Array.indexOf();11.Array.lastIndexOf()12.JSON.parse();13.JSON.stringfy();14.Date.now();ECMAscript5语法更改1.对字符串的属性访问[]2.数组合对象字面量中的尾随逗号3.多行字符串字面量4.作为属性名称的保留字use strict指令use strict定义javascript代码应该以严格模式执行。例如使用严格模式不能使用未声明的变量。您可以在所有程序中使用严格模式。它可以帮助您编写更清晰的代码例如阻止您使用未声明的变量。“use strict” 只是一个字符串表达式。旧浏览器如果不理解它们就不会抛出错误。String.trim()String.trim() 删除字符串两端的空白字符。实例var str Hello World! ;alert(str.trim());Array.isArray()isArray() 方法检查对象是否为数组。实例function myFunction() {var fruits [“Banana”, “Orange”, “Apple”, “Mango”];var x document.getElementById(“demo”);x.innerHTML Array.isArray(fruits);}Array.forEach()forEach() 方法为每个数组元素调用一次函数。实例var txt “”;var numbers [45, 4, 9, 16, 25];numbers.forEach(myFunction);function myFunction(value) {txt txt value “”;}Array.map()这个例子给每个数组值乘以 2实例var numbers1 [45, 4, 9, 16, 25];var numbers2 numbers1.map(myFunction);function myFunction(value) {return value * 2;}Array.filter()此例用值大于 18 的元素创建一个新数组实例var numbers [45, 4, 9, 16, 25];var over18 numbers.filter(myFunction);function myFunction(value) {return value 18;}Array.reduce()这个例子确定数组中所有数的总和实例var numbers1 [45, 4, 9, 16, 25];var sum numbers1.reduce(myFunction);function myFunction(total, value) {return total value;}Array.reduceRight()这个例子同样是确定数组中所有数的总和实例var numbers1 [45, 4, 9, 16, 25];var sum numbers1.reduceRight(myFunction);function myFunction(total, value) {return total value;}Array.every()这个例子检查是否所有值都超过 18实例var numbers [45, 4, 9, 16, 25];var allOver18 numbers.every(myFunction);function myFunction(value) {return value 18;}Array.some()这个例子检查某些值是否超过 18实例var numbers [45, 4, 9, 16, 25];var allOver18 numbers.some(myFunction);function myFunction(value) {return value 18;}请在 JS 数组迭代方法 中学习更多内容。Array.indexOf()检索数组中的某个元素值并返回其位置实例var fruits [“Banana”, “Orange”, “Apple”, “Mango”];var a fruits.indexOf(“Apple”);请在 JS 数组迭代方法中学习更多内容。Array.lastIndexOf()Array.lastIndexOf() 与 Array.indexOf() 类似但是从数组结尾处开始检索。实例var fruits [“Banana”, “Orange”, “Apple”, “Mango”];var a fruits.lastIndexOf(“Apple”);请在 JS 数组迭代方法 中学习更多内容。JSON.parse()JSON 的一个常见用途是从 Web 服务器接收数据。想象一下您从Web服务器收到这条文本字符串‘{“name”:“Bill”, “age”:62, “city”:“Seatle”}’JavaScript 函数 JSON.parse() 用于将文本转换为 JavaScript 对象var obj JSON.parse(’{“name”:“Bill”, “age”:62, “city”:“Seatle”}’);请在我们的 JSON 教程 中学习更多内容。JSON.stringify()JSON 的一个常见用途是将数据发送到Web服务器。将数据发送到 Web 服务器时数据必须是字符串。想象一下我们在 JavaScript 中有这个对象var obj {“name”:“Bill”, “age”:62, “city”:“Seatle”};请使用 JavaScript 函数 JSON.stringify() 将其转换为字符串。var myJSON JSON.stringify(obj);结果将是遵循 JSON 表示法的字符串。myJSON 现在是一个字符串准备好发送到服务器实例var obj {“name”:“Bill”, “age”:62, “city”:“Seatle”};var myJSON JSON.stringify(obj);document.getElementById(“demo”).innerHTML myJSON;请在我们的 JSON 教程 中学习更多内容。Date.now()Date.now() 返回自零日期1970 年 1 月 1 日 00:00:00:00以来的毫秒数。实例var timInMSs Date.now();Date.now() 的返回与在 Date 对象上执行 getTime() 的结果相同。请在 JS 日期 中学习更多。属性 Getter 和 SetterES5 允许您使用类似于获取或设置属性的语法来定义对象方法。这个例子为名为 fullName 的属性创建一个 getter实例// 创建对象var person {firstName: “Bill”,lastName : “Gates”,get fullName() {return this.firstName this.lastName;}};// 使用 getter 显示来自对象的数据document.getElementById(“demo”).innerHTML person.fullName;亲自试一试这个例子为语言属性创建一个 setter 和一个 getter实例var person {firstName: “Bill”,lastName : “Gates”,language : “NO”,get lang() {return this.language;},set lang(value) {this.language value;}};// 使用 setter 设置对象属性person.lang “en”;// 使用 getter 显示来自对象的数据document.getElementById(“demo”).innerHTML person.lang;这个例子使用 setter 来确保语言的大写更新实例var person {firstName: “Bill”,lastName : “Gates”,language : “NO”,set lang(value) {this.language value.toUpperCase();}};// 使用 setter 设置对象属性person.lang “en”;// 显示来自对象的数据document.getElementById(“demo”).innerHTML person.language;亲自试一试请在 JS 对象访问器 中学习更多有关 Getter 和 Setter 的知识。新的对象属性和方法Object.defineProperty() 是 ES5 中的新对象方法。它允许您定义对象属性和/或更改属性的值和/或元数据。实例// 创建对象var person {firstName: “Bill”,lastName : “Gates”,language : “NO”,};// 更改属性Object.defineProperty(person, “language”, {value: “EN”,writable : true,enumerable : true,configurable : true});// 枚举属性var txt “”;for (var x in person) {txt person[x] “”;}document.getElementById(“demo”).innerHTML txt;亲自试一试下一个例子是相同的代码但它隐藏了枚举中的语言属性实例// 创建对象var person {firstName: “Bill”,lastName : “Gates”,language : “NO”,};// 更改属性Object.defineProperty(person, “language”, {value: “EN”,writable : true,enumerable : false,configurable : true});// 枚举属性var txt “”;for (var x in person) {txt person[x] “”;}document.getElementById(“demo”).innerHTML txt;亲自试一试此例创建一个 setter 和 getter 来确保语言的大写更新实例// 创建对象var person {firstName: “Bill”,lastName : “Gates”,language : “NO”};// 更改属性Object.defineProperty(person, “language”, {get : function() { return language },set : function(value) { language value.toUpperCase()}});// 更改语言person.language “en”;// 显示语言document.getElementById(“demo”).innerHTML person.language;ECMAScript 5 为 JavaScript 添加了许多新的对象方法ES5 新的对象方法// 添加或更改对象属性Object.defineProperty(object, property, descriptor)// 添加或更改多个对象属性Object.defineProperties(object, descriptors)// 访问属性Object.getOwnPropertyDescriptor(object, property)// 将所有属性作为数组返回Object.getOwnPropertyNames(object)// 将可枚举属性作为数组返回Object.keys(object)// 访问原型Object.getPrototypeOf(object)// 防止向对象添加属性Object.preventExtensions(object)// 如果可以将属性添加到对象则返回 trueObject.isExtensible(object)// 防止更改对象属性而不是值Object.seal(object)// 如果对象被密封则返回 trueObject.isSealed(object)// 防止对对象进行任何更改Object.freeze(object)// 如果对象被冻结则返回 trueObject.isFrozen(object)请在 对象 ECMAScript5 中学习更多内容。对字符串的属性访问charAt() 方法返回字符串中指定索引位置的字符实例var str “HELLO WORLD”;str.charAt(0); // 返回 HECMAScript 5 允许对字符串进行属性访问实例var str “HELLO WORLD”;str[0]; // 返回 H对字符串的属性访问可能有点不可预测。请在 JS 字符串方法 中学习更多内容。尾随逗号(Trailing Commas)ECMAScript 5 允许在对象和数组定义中使用尾随逗号Object 实例person {firstName: “Bill”,lastName: Gates,age: 62,}Array 实例points [1,5,10,25,40,100,];警告Internet Explorer 8 将崩溃。JSON 不允许使用尾随逗号。JSON 对象// 允许var person ‘{“firstName”:“Bill”, “lastName”:“Gates”, “age”:62}’JSON.parse(person)// 不允许var person ‘{“firstName”:“Bill”, “lastName”:“Gates”, “age”:62,}’JSON.parse(person)JSON 数组// 允许points [40, 100, 1, 5, 25, 10]// 不允许points [40, 100, 1, 5, 25, 10,]多行字符串如果使用反斜杠转义ECMAScript 5 允许多行的字符串文字字面量实例“HelloKitty!”;亲自试一试\ 方法可能没有得到普遍的支持。较旧的浏览器可能会以不同的方式处理反斜杠周围的空格。一些旧的浏览器不允许 \ 字符后面的空格。分解字符串文字的一种更安全的方法是使用字符串添加实例Hello “Kitty!”;亲自试一试保留字作为属性名称ECMAScript 5允许保留字作为属性名称对象实例var obj {name: “Bill”, new: “yes”}亲自试一试ES5ECMAScript 5浏览器支持Chrome 23、IE 10 和 Safari 6 是第一批完全支持 ECMAScript 5 的浏览器Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 152012 年 9 月 2012 年 9 月 2013 年 4 月 2012 年 7 月 2013 年 7 月

相关新闻

HDU - 1711:Number Sequence

HDU - 1711:Number Sequence

Number Sequence 来源:HDU 标签:字符串、字符串匹配、KMP算法 参考资料: 相似题目: 题目 Given two sequences of numbers : a[1], a[2], … , a[N], and b[1], b[2], … , b[M] (1 <= M <= 10000, 1 <= N <= 1000000). Your task is to find a number K which…

2026/10/16 19:09:19 阅读更多 →
luogu P4881 hby与tkw的基情

luogu P4881 hby与tkw的基情

背景&#xff1a; 博客还有好多没写&#xff0c;看看这个周日有空吗。 题目传送门&#xff1a; https://www.luogu.org/problem/P4881 题意&#xff1a; 求&#xff1a;ans∑i1ni⋅fi[nmod&ThinSpace;&ThinSpace;2]ans\sum_{i1}^{n}i\cdot f_i[n\mod 2]ans∑i…

2026/10/2 23:42:33 阅读更多 →
Escrcpy终极指南:免费高效的Android设备无线投屏控制解决方案

Escrcpy终极指南:免费高效的Android设备无线投屏控制解决方案

Escrcpy终极指南&#xff1a;免费高效的Android设备无线投屏控制解决方案 【免费下载链接】escrcpy 优雅而强大的跨平台 Android 设备控制工具&#xff0c;基于 Scrcpy 的 Electron 应用,支持无线连接和多设备管理,让您的电脑成为 Android 的完美伴侣。 项目地址: https://gi…

2026/10/16 2:35:10 阅读更多 →

最新新闻

AI辅助专著写作全流程:从选题到定稿的实操指南

AI辅助专著写作全流程:从选题到定稿的实操指南

写一本专著&#xff0c;对绝大多数人来说&#xff0c;第一反应都是“这事太大了”。从选题、搭框架、找文献、写初稿&#xff0c;到来回改格式、统一术语、核对引用&#xff0c;随便哪一环拎出来都够磨掉几个月。更要命的是&#xff0c;很多内容领域里的资深从业者&#xff0c;…

2026/10/17 16:58:03 阅读更多 →
STM32F107实现IEEE1588v2 PTP纳秒级时间同步解析

STM32F107实现IEEE1588v2 PTP纳秒级时间同步解析

简介&#xff1a;面向STM32嵌入式开发者&#xff0c;这份资源提供了在STM32F107上基于LwIP协议栈实现IEEE 1588v2精确时间协议&#xff08;PTP&#xff09;的完整方案&#xff0c;包含设计文档与Keil工程代码&#xff0c;适用于工业自动化、电力系统等需要高精度时钟同步的场景…

2026/10/17 16:58:02 阅读更多 →
Ubuntu安装GCC踩坑记:搞懂工具链才能一劳永逸

Ubuntu安装GCC踩坑记:搞懂工具链才能一劳永逸

在 Ubuntu 里装 gcc&#xff0c;乍一听是个三分钟就能搞定的基础操作&#xff0c;网上教程也是一抓一大把。但上周我在一台新拿到的 Ubuntu 工作站上装 gcc&#xff0c;前后折腾了小半天&#xff0c;问题一个接一个&#xff1a;先是最基础的源更新出问题&#xff0c;再是包名找…

2026/10/17 16:58:02 阅读更多 →
威胁情报AI落地实战:从情报处理到检测响应自动化

威胁情报AI落地实战:从情报处理到检测响应自动化

1. 先搞清楚&#xff1a;威胁情报AI到底要解决什么我前前后后做了六年多安全运营&#xff0c;带过SOC&#xff0c;也搭过威胁情报平台&#xff0c;一个特别深的感受是&#xff1a;蓝队真正缺的不是告警&#xff0c;不是规则&#xff0c;更不是又一个炫酷的仪表盘&#xff0c;而…

2026/10/17 16:58:02 阅读更多 →
UE4内存管理实战:深入理解垃圾回收与UObject引用追踪

UE4内存管理实战:深入理解垃圾回收与UObject引用追踪

1. 开篇&#xff1a;UE4内存管理&#xff0c;绕不开的必修课但凡在UE4里做过中大型项目的开发者&#xff0c;都会对内存管理这块有切肤之痛。UE4的垃圾回收机制不是我们平时理解的"GC自动帮你清理一切"&#xff0c;它有一套基于UObject和反射系统的标记-清除&#xf…

2026/10/17 16:58:02 阅读更多 →
GNSS/INS松组合导航Matlab实现:卡尔曼滤波与误差状态详解

GNSS/INS松组合导航Matlab实现:卡尔曼滤波与误差状态详解

简介&#xff1a;面向航空航天、自动驾驶与航海等导航应用场景&#xff0c;这份GNSS/INS松组合导航Matlab程序适合需要研究卫星/惯性组合导航算法的工程师与在校生。程序围绕GNSS与INS数据融合展开&#xff1a;先由GNSS轨迹生成模拟惯导输出&#xff0c;再经卡尔曼滤波、四元数…

2026/10/17 16:56:54 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介&#xff1a;《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南&#xff0c;重点围绕V3与R1两款模型的能力差异与适用场景展开&#xff0c;帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件&#xff0c;压缩包大小约311KB&#xff0c;篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介&#xff1a;这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档&#xff0c;共收录两百余条可直接套用的润色指令&#xff0c;涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度&#xff0c;并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介&#xff1a;本资源是一份基于OpenCV的本科课程设计完整报告&#xff0c;面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生&#xff0c;解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →