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/7/28 17:46:01阅读更多 →
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/7/28 17:46:01阅读更多 →
中国古代科技竞就有多高?-哪些你不知道的问数学的10大伟大发明

中国古代科技竞就有多高?-哪些你不知道的问数学的10大伟大发明

众所周知&#xff0c;造纸术、印刷术、指南针和火药并列为中国的 “四大发明”&#xff0c;它已经成为中华文明的一种标志。但也毋庸置疑&#xff0c;我国古代的重要发明创造远不止于此。 古代中国人还有哪些重要的科技发明创造呢&#xff1f;中国科学院自然科学史研究所编写的…

2026/7/28 17:46:01阅读更多 →
Zookeeper单机部署单服务过程(非docker方式)

Zookeeper单机部署单服务过程(非docker方式)

zk这东西太优秀了&#xff0c;分布式锁、分布通知/协调&#xff08;配置管理&#xff09;、分布式队列、集群管理、数据发布与订阅等场景&#xff0c;最佳中间件&#xff0c;虽然zk有很多强大的特性&#xff0c;但一般公司的项目不会用得太多&#xff0c;集群管理、分布式锁应该…

2026/7/28 19:02:14阅读更多 →
AI 平台建设的20个决策时刻:选错了就要花几个月还债

AI 平台建设的20个决策时刻:选错了就要花几个月还债

AI 平台建设的20个决策时刻&#xff1a;选错了就要花几个月还债 基础设施不需要漂亮话。 AI 平台建设不是技术选型的堆砌&#xff0c;而是一系列决策的组合。每个决策看起来都是局部选择——用什么推理框架、用什么调度器、用什么存储方案——但这些局部决策的组合决定了平台的…

2026/7/28 19:02:14阅读更多 →
模型服务十大坑:从 OOM 到推理结果漂移

模型服务十大坑:从 OOM 到推理结果漂移

模型服务十大坑&#xff1a;从 OOM 到推理结果漂移 基础设施不需要漂亮话。 模型服务上线那天&#xff0c;团队觉得终于可以松口气了。实际上&#xff0c;上线才是问题的开始。过去半年我们在模型服务运维上踩了至少十个坑&#xff0c;每一个都让值班工程师在凌晨被叫醒。这篇文…

2026/7/28 19:02:14阅读更多 →
2026 AI 工作流避坑大全:10 个让你深夜回滚的 Prompt 工程设计错误

2026 AI 工作流避坑大全:10 个让你深夜回滚的 Prompt 工程设计错误

2026 AI 工作流避坑大全&#xff1a;10 个让你深夜回滚的 Prompt 工程设计错误 一、Prompt 工程的"伪确定性"&#xff1a;为什么看起来正确的设计会在凌晨崩溃 Prompt 工程最危险的特征是它的"伪确定性"——同一个 Prompt 在白天测试完美运行&#xff0c…

2026/7/28 19:02:14阅读更多 →
制造业工厂 MES 选型指南,中小企业可以直接参考

制造业工厂 MES 选型指南,中小企业可以直接参考

随着制造业数字化持续推进&#xff0c;越来越多中小工厂意识到 MES 制造执行系统的价值。但市面上 MES 产品参差不齐&#xff0c;大型重型 MES 投入高、实施周期漫长&#xff0c;轻量工具又存在功能短板。不少中小企业投入资金后&#xff0c;出现系统和车间流程不匹配、工人不愿…

2026/7/28 19:02:14阅读更多 →
摆脱环境配置难题!OpenClaw 小龙虾 Windows 系统搭建全流程(含安装包)

摆脱环境配置难题!OpenClaw 小龙虾 Windows 系统搭建全流程(含安装包)

&#x1f4d8;OpenClaw v2.7.9 Windows 一键部署指南&#xff5c;本地 AI 智能体零基础搭建教程 前言✨ 当下各类 AI 工具层出不穷&#xff0c;但多数产品仅支持文字对话&#xff0c;很难直接操控电脑完成各类重复工作。OpenClaw&#xff0c;爱好者俗称小龙虾&#xff0c;作为…

2026/7/28 19:00:13阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

&#x1f539; 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具&#xff0c;凭借本地离线运行、可视化图形操作和任务自动化三大核心特性&#xff0c;赢得了众多用户的青睐。与普通在线对话AI工具不同&#xff0c;它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接&#xff0c;是用激光束对阀座壳体&#xff08;通常为不锈钢或铝合金&#xff09;进行密封焊接&#xff0c;使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX&#xff1a;三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿&#xff01;3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑&#xff1a;把几百页的财报、法规、技术手册扔给向量库&#xff0c;问一个具体问题&#xff0c;搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了&#xff0c;要么藏在几十条结果的最下面。语义相似≠真正相关&#xff0c;这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营&#xff0c;从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候&#xff0c;每天刷半小时抖音&#xff0c;手动把爆款视频的口播敲进备忘录&#xff0c;一条2分钟的视频得花十来分钟&#xff0c;碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:29阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/27 16:57:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →