当前位置: 首页 > news >正文

一个空间怎么放两个网站网站图片的像素

一个空间怎么放两个网站,网站图片的像素,网站风格特点,代做施组 方案的网站前言 我们常说的ES6也就是ECMAScript 2015是在2015年6月发布的。这个版本引入了许多重要的语言特性和改进#xff0c;对 JavaScript 进行了深刻的扩展和升级#xff0c;ES6 是 JavaScript 语言的一个里程碑。所以有时也被称为ES6。这是由于规范的发布年份与实际版本号之间的…前言 我们常说的ES6也就是ECMAScript 2015是在2015年6月发布的。这个版本引入了许多重要的语言特性和改进对 JavaScript 进行了深刻的扩展和升级ES6 是 JavaScript 语言的一个里程碑。所以有时也被称为ES6。这是由于规范的发布年份与实际版本号之间的不匹配。然而标准化组织决定更改命名方式以便更好地反映年份从而引入了“ECMAScript [年份]”的命名习惯。 从2015年的ECMAScript 2015ES6到现在的ECMAScript 2023。在这几年的发展中我们见证了JavaScript的成为web开发的主导语言。但是人们在谈论JS时还是习惯性说ES6然而举例2015已经过去了8年是不是该更新一下知识库啦。 这篇文章我们介绍一下JavaScript从ES6到ES2023的重要变化。 ECMAScript 2015 这里只介绍一些主要的特性 let 和 const 声明 引入了块级作用域的变量声明方式。let用于声明变量而const用于声明常量。 箭头函数 提供了更简洁的函数声明语法尤其适用于匿名函数。 // 传统函数 function add(a, b) {return a b; }// 箭头函数 const add (a, b) a b;模板字符串 允许在字符串中插入表达式更易读且更灵活。 const name World; const greeting Hello, ${name}!;默认参数值 允许在函数声明中为参数设置默认值。 function greet(name World) {console.log(Hello, ${name}!); }解构赋值 允许从数组或对象中提取值并赋给变量。 // 数组解构 const [a, b] [1, 2];// 对象解构 const { x, y } { x: 1, y: 2 };类和继承 引入了更接近传统面向对象编程的类和继承语法。 class Animal {constructor(name) {this.name name;}speak() {console.log(${this.name} makes a sound.);} }class Dog extends Animal {speak() {console.log(${this.name} barks.);} }模块化 引入了模块系统允许将代码分割为可维护的模块。 // 导出 export const myVar 42;// 导入 import { myVar } from ./myModule;Promise 提供了更强大的异步编程机制以解决回调地狱问题。 const myPromise new Promise((resolve, reject) {// 异步操作if (/* 操作成功 */) {resolve(Success!);} else {reject(Failure!);} });myPromise.then(result console.log(result)).catch(error console.error(error));for…of 和 for…in 用于迭代对象和数组中的元素。 Set和 Mapz Set 是一种用于存储唯一值的集合。它不允许重复的元素并提供了一系列方法来操作这些值。 const uniqueNumbers new Set([1, 2, 3, 1, 2]);uniqueNumbers.add(4); console.log(uniqueNumbers); // Set { 1, 2, 3, 4 }console.log(uniqueNumbers.has(2)); // trueMap 是一种键值对的集合其中的键和值可以是任意数据类型。它提供了一种更灵活的方式来存储和检索数据相较于对象Map 在处理键值对的场景中更为直观和高效。 const userMap new Map();userMap.set(name, John); userMap.set(age, 30);console.log(userMap.get(name)); // John console.log(userMap.has(gender)); // falseECMAScript 2016 ECMAScript 2016本质上是一个较小的更新其中包括了一些相对较小的语法和功能改进。 指数操作符Exponentiation Operator 引入了指数操作符 **用于计算一个数字的幂。 let result 2 ** 3; // 8Array.prototype.includes() 在数组原型上添加了 includes 方法用于检查数组是否包含特定元素。 const array [1, 2, 3]; console.log(array.includes(2)); // true console.log(array.includes(4)); // falseECMAScript 2017 ECMAScript 2017也称为ES8是在2017年发布的 JavaScript 语言的一个版本相对于 ECMAScript 2016 来说引入了一些新的功能和改进。以下是其中一些主要的变化 异步函数Async/Await的改进 ES2017 对异步函数进行了一些改进使其更加灵活和强大。异步函数是使用 async 关键字声明的函数而 await 关键字可以在异步函数内部等待一个 Promise 解决。 async function fetchData() {let response await fetch(https://api.example.com/data);let data await response.json();return data; }Object.values() 和 Object.entries() 引入了 Object.values() 和 Object.entries() 方法分别用于获取对象的值数组和键值对数组。 const obj { a: 1, b: 2, c: 3 };console.log(Object.values(obj)); // [1, 2, 3] console.log(Object.entries(obj)); // [[a, 1], [b, 2], [c, 3]]字符串填充方法String Padding 引入了字符串填充方法 String.prototype.padStart() 和 String.prototype.padEnd()用于在字符串前或后填充指定的字符。 let str hello; console.log(str.padStart(8, *)); // ***hello console.log(str.padEnd(8, *)); // hello***共享内存与原子操作Shared Memory and Atomics 引入了 SharedArrayBuffer 和 Atomics 对象用于更好地支持多线程和并行编程。 // 创建共享内存 const buffer new SharedArrayBuffer(16);// 在共享内存上进行原子操作 Atomics.add(new Int32Array(buffer), 0, 5);ECMAScript 2019 也不是每一年都有那种很重要的改变这里ECMAScript 2018 并入了 ECMAScript 2019 Array.prototype.flat() 和 Array.prototype.flatMap() 引入了 flat 和 flatMap 方法用于扁平化嵌套的数组结构。 const nestedArray [1, [2, [3, 4]]]; const flatArray nestedArray.flat(); // [1, 2, [3, 4]]flatMap 可以同时扁平化和映射数组。 Object.fromEntries() 提供了从键值对数组创建对象的方法。 const entries [[a, 1], [b, 2], [c, 3]]; const obj Object.fromEntries(entries); // {a: 1, b: 2, c: 3}String.prototype.trimStart() 和 String.prototype.trimEnd() 引入了字符串的两个新方法用于删除字符串开头和结尾的空格。 const str Hello ; console.log(str.trimStart()); // Hello console.log(str.trimEnd()); // HelloSymbol.prototype.description 允许通过 Symbol.prototype.description 获取 Symbol 的描述信息。 const mySymbol Symbol(My Symbol); console.log(mySymbol.description); // My SymbolFunction.prototype.toString() 的改进 Function.prototype.toString() 方法现在返回精确的源代码表示包括空格和注释。 function example() {// This is a commentreturn Hello; }console.log(example.toString()); // 函数源代码中包含注释和缩进ECMAScript 2020 ECMAScript 2020也称为ES11引入了一些新的功能和改进。以下是其中一些主要的变化 可选链操作符Optional Chaining 引入了可选链操作符?.用于简化访问可能不存在的属性或方法的代码。 const user {address: {street: 123 Main St} };// 传统方式 const street user user.address user.address.street;// 使用可选链操作符 const street user?.address?.street;空值合并操作符Nullish Coalescing Operator 引入了空值合并操作符??用于提供默认值但仅在变量为 null 或 undefined 时。 const defaultValue Default; const userValue null;// 传统方式 const result userValue ! null userValue ! undefined ? userValue : defaultValue;// 使用空值合并操作符 const result userValue ?? defaultValue;全局对象 globalThis 引入了 globalThis它提供了一种标准的方式来获取全局对象无论代码在哪里执行浏览器、Node.js、Web Workers等。 console.log(globalThis window); // 在浏览器中为 true console.log(globalThis global); // 在 Node.js 中为 truePromise.allSettled() 引入了 Promise.allSettled() 方法它接收一组 Promise无论这些 Promise 是成功还是失败都会等待它们全部 settled已完成不论是 resolved 还是 rejected。 const promises [Promise.resolve(Success), Promise.reject(Error)];Promise.allSettled(promises).then(results console.log(results));动态导入 可以将js文件动态导入模块中。 BigInt js代码可以使用更大的整数。 matchAll 是一个用于 String 的新的方法和正则相关。这个方法将返回一个迭代器该迭代器一个接一个地返回所有匹配的组。 ECMAScript 2021 String.prototype.replaceAll 新增了字符串方法可以全局替换字符串中的匹配项。 const originalString apple banana apple orange;// 使用 replaceAll 替换所有的 apple 为 grape const newString originalString.replaceAll(apple, grape);console.log(newString); // 输出: grape banana grape orange 逻辑赋值运算符 引入了逻辑赋值运算符如、||和??用于对变量进行逻辑运算和赋值的组合操作。 let x 1;// 逻辑与赋值 x 2; // x x 2;let y 0;// 逻辑或赋值 y || 3; // y y || 3;let z null;// 空值合并赋值 z ?? 4; // z z ! null z ! undefined ? z : 4; 数字分隔符 允许在数字中使用下划线作为分隔符以提高数字的可读性。 const billion 1_000_000_000; const binary 0b1010_0010_0011; const decimal 1_000_000.123_456; Promise.any 新增了Promise的静态方法接受一个Promise可迭代对象返回第一个解决的Promise的值。 const promise1 new Promise((resolve, reject) setTimeout(resolve, 1000, one)); const promise2 new Promise((resolve, reject) setTimeout(reject, 500, two)); const promise3 new Promise((resolve, reject) setTimeout(resolve, 800, three));Promise.any([promise1, promise2, promise3]).then(result console.log(result)).catch(error console.error(error)); WeakRef 引入了WeakRef和FinalizationRegistry API用于处理弱引用和对象的最终化 let obj { data: some data }; let weakRef new WeakRef(obj);console.log(weakRef.deref()); // { data: some data }obj null; // 弱引用不会阻止对象被垃圾回收console.log(weakRef.deref()); // undefined ECMAScript 2022 顶层 await 在 ECMAScript 2022 中引入了顶层 await它允许在模块的顶层直接使用 await 关键字而不需要在异步函数内部包裹。 // 在模块的顶层直接使用 await const result await fetchData();console.log(result);ECMAScript 2023 今年6月份发布了ECMAScript 2023这将是目前最新版本的规范。 findLast() 、findLastIndex() 在 JS中可以通过 find() 和 findIndex() 从前往后查找数组中的值。 这两个方法支持从后往前查找用法和find()、findIndex()一样。 const array [{v: 1}, {v: 2}, {v: 3}, {v: 4}, {v: 5}];array.findLast(elem elem.v 3); // {v: 5} array.findLastIndex(elem elem.v 3); // 4 array.findLastIndex(elem elem.v 5); // undefined2.Hashbang 语法 Hashbang也称为 shebang是一种在脚本文件的开头使用 #! 注释的语法通常用于指定脚本文件的解释器。 #!/usr/bin/env nodetoReversed()、toSorted()、toSpliced()、with() 之前js支持的reverse、sort、splice都是修改原数组的以前使用这些方法想又不改变原数组可能是这样 const originalArray [3, 1, 4, 1, 5, 9];const reversedArray originalArray.slice().reverse(); const sortedArray originalArray.slice().sort(); const splicedArray originalArray.slice(1, 4); const arrayWithElement [...originalArray, 7];console.log(reversedArray); // 输出 [9, 5, 1, 4, 1, 3] console.log(sortedArray); // 输出 [1, 1, 3, 4, 5, 9] console.log(splicedArray); // 输出 [1, 4, 1] console.log(arrayWithElement); // 输出 [3, 1, 4, 1, 5, 9, 7] 然而有以下这些方法返回新的数组不改变原数组。是不是就简便多了。 toReversed()返回数组的逆序副本。toSorted()返回数组的排序副本。toSpliced()返回对数组进行切片后的副本。with()可能是返回包含特定元素的副本。 with()该方法会以非破坏性的方式替换给定 index 处的数组元素即 arr[index]value 的非破坏性版本。 const arr [a, b, c]; const arr1 arr.with(2, d); console.log(arr1); // [a,b,d] console.log(arr); // [a, b, c]今天就介绍这些吧本文介绍并非全部新特性。 注意使用这些方法时看一下浏览器各个版本兼不兼容哦
http://www.zqtcl.cn/news/931424/

相关文章:

  • 自己怎么做dj 视频网站网站推广 济南
  • 2014网站怎么备案怎样建置换平台网站
  • 惠州网站建设信息嘉兴做网站软件
  • 如何做发表文章的网站淮安市建设工程质量监督站网站
  • 做洁净的网站太原便宜做网站的公司
  • 网站设计评级检索标准的网站
  • 做个网站每年都要交域名费吗html静态网页首页模板
  • 网站资源整合与建设wordpress固定链接设置后404
  • 网站历史快照seo推广方法
  • 做淘宝客的的网站有什么要求北京专业网站制作公司
  • 建设网站 知乎个人可以开发app软件吗
  • 网站如何后台管理北京正规网站建设有几种
  • 临沂网站排名高质量的中山网站建设
  • 响应式网站定制开发网络教育全程托管
  • 做网站中的剪辑图片龙岗网站
  • 建设购物网站的意义免费做外贸的网站平台
  • 长沙做电商网站设计重庆观音桥旅游攻略
  • 网站建设的目标与期望动漫设计与制作工资多少
  • 做网站找网站设计公司 长沙
  • 网站维护内容网站代码下载
  • 西安建设主管部门官方网站wordpress返回件
  • 建立免费空间网站南宁seo推广外包
  • 网站初期如何推广用秀米制作h5详细步骤
  • 做网站需要执照嘛开发 网站 团队
  • 怎么提交网站关键词包头人脸检测系统
  • 哪个网站开发是按月付费的婚纱摄影建设网站的目的
  • 站长之家app简单网站制作步骤
  • 网站开发与桌面应用开发wordpress if include
  • 网站怎么做预约小程序江苏省工程建设招标网站
  • python做网站有什么弊端专业做网带