旅游网站的建设开题报告wordpress所有函数

diannao/2026/1/17 13:50:12/文章来源:
旅游网站的建设开题报告,wordpress所有函数,js特效网站展示,如何做校园网站JavaScript中的数组创建 本文转载自#xff1a;众成翻译 译者#xff1a;loveky 链接#xff1a;http://www.zcfy.cc/article/713 原文#xff1a;http://rainsoft.io/power-up-the-array-creation-in-javascript/ 数组是一个包含了对象或原始类型的有序集合。很难想象一个…JavaScript中的数组创建 本文转载自众成翻译 译者loveky 链接http://www.zcfy.cc/article/713 原文http://rainsoft.io/power-up-the-array-creation-in-javascript/ 数组是一个包含了对象或原始类型的有序集合。很难想象一个不使用数组的程序会是什么样。 以下是几种操作数组的方式: 初始化数组并设置初始值通过索引访问数组元素添加新元素删除现有元素本文涵盖了数组的初始化以及设置初始值的操作。在JavaScript中要做到这一点的基本方法是使用数组字面量例如[1, 5, 8]或是数组构造器new Array (1, 5, 8)。 除了手动枚举之外JavaScript还提供了更有趣更直接的数组创建方式。让我一起看看在JavaScript中初始化数组的一般场景和高级场景吧。 1. 数组字面量 数组字面量由一组包裹在方括号[ ]之间的逗号分隔的元素element1, element2, ..., elementN组成。 让我们看几个数组字面量的例子: 在JS Bin中查看 let numbers [1, 5, 7, 8]; let planets [Earth, Mercury, Jupiter]; 数组字面量可以包含任意类型的元素包括null, undefined, 原始类型以及对象 在JS Bin中查看 let mixed [1, Earth, null, NaN, undefined, [Mars]]; 1.1 数组字面量中的逗号 逗号,用来分隔数组字面量中的元素。基于逗号的位置或是逗号之间元素的缺失的情况不同结构的数组会被创建。 让我们详细看一看现有的三种情况。 第一种情况普通的数组字面量 通常情况是在任何一对逗号之间都有一个元素并且数组字面量不以逗号开始或结尾。这是推荐的使用逗号分隔手动初始化数组的方式 在JS Bin中查看 let items [first, second, third]; items; // gt; [first, second, third] items是由2个逗号分隔的3个元素创建的。 在这个例子中item是一个密集数组因为它的元素有着连续的索引或者简单来说数组中没有空洞。 大多数时候你会使用这种方式初始化数组。 第二种情况: 在数组末尾的一个无用逗号 第二种情况和第一种情况类似只不过在最后一个逗号之后没有指定元素。这种情况中最后一个逗号会被JavaScript忽略 在JS Bin中查看 let items [first, second, third, ]; items; // gt; [first, second, third] 在元素third之后指定的一个逗号它是数组中的最后一个逗号并且在那之后没有任何元素。这个末尾的逗号是无用的意味着它对新创建的数组没有任何影响。 这种情况下JavaScript也会创建一个密集数组。 第三种情况: 逗号之间没有元素 第三种情况发生在当一对逗号之间没有指定元素或是数组字面量以一个逗号开始时。 这会创建一个稀疏数组一个其元素索引不连续的集合换句话说数组中存在空洞。 下面的数组字面量以逗号开始创建了一个稀疏数组 在JS Bin中查看 let items [, first, second, third]; items; // gt; [lt;1 empty slotgt;, first, second, third] items[0]; // gt; undefined items[1]; // gt; first items.length; // gt; 4 数组字面量[, ...]以逗号开始。结果是items是一个稀疏数组在索引0的位置是一个空slot。访问空slot items[0]会得到undefined。 区分一个空slot和一个值是undefined的元素是很重要的。通过索引访问这种类型的元素时都会得到undefined这使得区分它们变得很棘手。 空slot意味着数组在某个索引位置上没有元素(index in array返回false)这与一个值是undefined的元素(index in array返回true)是不同的。 需要注意的是空slot在Firefox的控制台会被显示为lt;1 empty slotgt;这是展示空slot的正确方法。Chrome的控制台会展示undefined x 1。其它浏览器的控制台只会简单的展示undefined。 当数组字面量的两个逗号之间没有元素时也会创建一个稀疏数组 在JS Bin中查看 let items [first, , second, third]; items; // gt; [first, lt;1 empty slotgt; ,second, third] items[0]; // gt; first items[1]; // gt; undefined items.length; // gt; 4 数组字面量包含了中间没有元素的逗号[... , , ...]。这样item成了一个索引1处是一个空slot的稀疏数组。访问空slot items[1]会得到undefined。 通常你应该避免这种会创建稀疏数组的使用方式。同时你也应该尽可能的不去操作稀疏数组。 在一个数组字面量中删除或是添加元素时你可能会在不经意间创建一个稀疏数组。因此在修改之后切记仔细检查。 1.2 spread运算符带来的改善 ECMAScript 6中引入的spread运算符改善了使用其它数组中的元素初始新数组这一操作。 在很多场景下spread运算符都可以使数组创建变得更简单。方法就是在数组字面量中把...作为源数组的前缀然后源数组中的元素就被包括到新创建的数组中了。就这么简单。 下面的数组字面量在创建时使用了spread运算符 在JS Bin中查看 let source [second, third]; let items [first, ...source]; items; // gt; [first, second, third] 数组字面量[First, ...source]表示First会被作为数组中的第一个元素。剩余的元素则是通过spread运算符从source数组取得。 常规的元素枚举方式可以和spread运算符可以不受限制的组合在一起。 在JS Bin中查看 let odds [1, 3, 5]; let evens [4, 6]; let zero 0; let negative -1; let items [...odds, zero, ...evens, negative]; items; // gt; [1, 3, 5, 0, 4, 6, -1] 创建items时使用一个组合了普通变量zero和negative以及前置spread运算符的源数组...odds和...evens的集合。 由于spread运算符接收的是普通的可迭代对象数组默认就是可迭代的这使得自定义的初始化成为可能。 一个生成器函数也会返回一个可迭代的生成器对象因此你可以利用生成器的灵活性来创建数组。 让我们创建一个第一个参数代表元素值第二个参数代表元素数量的生成器函数。然后使用它和spread运算符以及数组字面量来初始化新数组 在JS Bin中查看 function* elements(element, length) {let index 0;while (length gt; index) {yield element;} } [...elements(0, 5)]; // gt; [0, 0, 0, 0, 0] [...elements(hi, 2)]; // gt; [hi, hi] 每次执行elements(element, length)时都会创建一个生成器对象。spread运算符会利用该生成器对象来初始化数组。 [...elements(0, 5)]会创建一个有5个0的数组。而[...elements(hi, 2)]会创建一个有两个字符串h1的数组。 2. 数组构造器 JavaScript中的数组是一个对象。和任何对象一样它有一个可以用来创建新实例的构造器函数Array。让我们看一个例子 在JS Bin中查看 // 构造器调用 let arrayConstr new Array(1, 5); arrayConstr; // gt; [1, 5] typeof arrayConstr; // gt; object arrayConstr.constructor Array; // gt; true // 数组字面量 let arrayLiteral [1, 5]; arrayLiteral; // gt; [1, 5] typeof arrayLiteral; // gt; object arrayLiteral.constructor Array; // gt; true arrayConstr和arrayLiteral都是数组实例它们的构造器都是Array。对象arrayConstr是通过构造器调用创建的new Array(1, 5)。 你也可以像调用普通函数那样通过Array来创建数组实例Array(1, 5)。 你应该更倾向于使用字面量[item1, item2, ..., itemN]而不是构造器new Array(item1, item2, ..., itemN)来创建数组。主要原因是数组字面量的写法更短更简单。还有一个原因就是数组构造器在第一个参数是不同类型的值时产生的怪异行为。 让我们看看Array使如何根据第一个参数的类型以及参数的个数来创建数组实例的吧。 2.1 数值类型的参数下创建稀疏数组 当数组构造器new Array(numberArg)以一个单一的数值类型的参数调用时JavaScript会创建一个带有参数指定的个数的空slot的稀疏数组。 看一个例子: 在JS Bin中查看 let items new Array(3); items; // gt; [lt;3 empty slotsgt;] items.length; // gt; 3 new Array(3)是一个带有单一参数3的构造器调用。一个长度为3的稀疏数组items被创建了但实际上它并不包含任何元素而只是有几个空slot。 这种创建数组的方式本身并没有什么价值。然而把它和一些静态方法组合起来用于创建指定长度的数组并填充生成的元素时却是有用的。 2.2 枚举元素 如果调用Array构造器时传入了一个参数列表而不是单个数字那么这些参数就会成为数组的元素。 这种方式和数组字面量的方式几乎一样只不过是在一个构造器调用中而已。 下面的例子创建了一个数组 let items new Array(first, second, third); items; // gt; [first, second, third] new Array(first, second, third)使用参数中的元素创建了一个数组。 由于spread运算符的灵活性在构造器调用中使用来自其它数组的元素也是可行的 在JS Bin中查看 let source new Array(second, third); let items new Array(first, ...source); items; // gt; [first, second, third] new Array(First, ...source)创建数组时使用了First元素以及source数组中的所有元素。 无论哪种方式你都应该倾向于使用数组字面量因为它更简单直接。 2.3 有用的静态方法 当读到关于通过在构造器调用中传入一个数字来创建稀疏数组的部分时你可能好奇这有什么实际的用处。 ECMAScript 6增加了一些有用的方法如Array.prototype.fill()和Array.from()。这两个方法都可以用来填充一个稀疏数组中的空slot。 让我使用fill()方法来创建一个包含5个0的数组 在JS Bin中查看 let zeros new Array(5).fill(0); zeros; // gt; [0, 0, 0, 0, 0] new Array(5)创建了一个有5个空slot的稀疏数组。接着fill(0)方法用0填充了空slot。 静态方法Array.from()则有着更宽的使用场景。像上边的例子一样让我们创建一个包含5个0的数组 在JS Bin中查看 let zeros Array.from(new Array(5), () gt; 0); zeros; // gt; [0, 0, 0, 0, 0] 一个通过new Array(5)创建的长度为5的稀疏组数作为参数被传递给Array.from()。第二个参数作为一个返回0的映射函数。 共执行了5次迭代每次迭代中箭头函数的返回值被用作数组的元素。 由于在每次迭代中都会执行映射函数因此动态创建数组元素是可行的。让我们创建一个包含1到5的数组 在JS Bin中查看 let items Array.from(new Array(5), (item, index) gt; index 1); items; // gt; [1, 2, 3, 4, 5] 映射函数被调用时会传入两个参数当前的item以及当前迭代的index。索引参数被用来生成元素index 1。 Array.from()的第一个参数可以接受任何可迭代对象这使得它更有价值。 让我们使用一个生成器对象创建一个递增的数字列表: 在JS Bin中查看 function* generate(max) {let count 0;while (max gt; count) {yield count;} } let items Array.from(generate(5)); items; // gt; [1, 2, 3, 4, 5] let itemsSpread [...generate(5)]; itemsSpread; // gt; [1, 2, 3, 4, 5] generate(max)是一个生成器函数它会生成从一串从1到max的数字。 Array.from(generate(5))使用一个生成器对象作为参数创建了一个包含1到5数字的数组。 使用spread运算符[...generate(5)]和数组字面量可以达到同样的目的。 3. 总结 数组初始化是操作集合时的常见操作。JavaScript提供了多种方法以及灵活性来实现该目的。 数组构造器的行为在很多情况下会让你感到意外。因此数组字面量是初始化数组实例更好更简单的方式。 当数组需要根据基于每个迭代元素的计算进行初始化时Array.from()是一个不错的选择。 如果数组元素需要被填充为同一个值使用Array.prototype.fill()和new Array(length)的组合。 不要低估可迭代对象和生成器函数的能力它们可以和spread运算符组合起来使用在数组字面量或是Array.from()中。 转载于:https://www.cnblogs.com/wwhhq/p/8079102.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何做自己的淘宝优惠券网站网站代运营合同

项目介绍 一款由jspssmmysql实现的图书馆预约占座管理系统,前端采用的是当下最流行的easyui框架,后台用的ssm(spring、springMVC、mybaits)框架.添加学生和教师时会自动在用户表中注册,定时任务会定时生成座位信息&am…

效果营销型网站建设长沙建网站速成班

Fireworks 题意: 你每做一个烟花要n分钟,释放已做好的所有烟花需要m分钟,每只烟花成功释放的概率为p。问你在采取最优策略的前提下,直到成功释放第一个烟花时最小的期望时间花费。 题解: 最佳策略是:每…

网站建设工作室 怎么样产品关键词怎么找

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

php网站开发与设计域名 删除 wordpress

桥接模式:连接抽象与实现的设计艺术 在软件开发中,设计模式是帮助我们以优雅的方式解决问题的模板。桥接模式(Bridge Pattern)是一种结构型设计模式,它的主要目标是将抽象部分与实现部分分离,这样两者可以…

国外设计网站网站会员权限

计算属性 Computed 一般是对某个响应式数据进行加工处理获得新数据 侦听器 watch 监视某个响应式数据,如果它发生变化,就自动调用某个函数

百度移动网站检测柚皮子wordpress主题

目录 netstat pidof UDP协议 TCP协议 TCP协议段格式 TCP协议的相关机制 确认应答(ACK)机制 超时重传机制 连接管理机制 服务端状态转换 客户端状态转化 流量控制 流量控制常见问题: 滑动窗口 拥塞控制 延迟应答 面向字节流…

php网站搬家软件网站建设专业书入门

1.概述 Android 应用程序包含了工程文件、代码和各种资源,主要由 Java 语言编写,每一个应用程序将被编译成Android 的一个 Java 应用程序包(*.apk)。 由于 Android 系统本身是基于 Linux 操作系统运行的,因此 …

深圳网站建设哪家强建设网站是不是要买服务器

使用的环境条件不当可能会损坏设备。 保护设备,防止灰尘、湿气和热量进入。 使用注意事项: 空气流通不畅 设备安装不正确会阻碍设备内的空气流通,从而导致过热和功能受损。 只能按所示方向将设备安装在相应的壁上。 该设备设计用于安装在…

那种自行提取卡密的网站怎么做济南品牌网站建设介绍

一年之计在于春,每年的三、四月,都是个人创业最佳的起步阶段,也是企业采购最火热的时期。为了降低用户的上云成本,让大家能无门槛享受到优质高性能的云服务,比格云从3月16日起,将上线“充值30天内&#xff…

网站开发涉及技术张梅 合肥网站建设

【背景】 flink有几种聚合,使用上是有一些不同,需要加以区分: 分组聚合:group agg over聚合:over agg 窗口聚合:window agg 省流版: 触发计算时机 结果流类型 状态大小 分组聚合group ag…

私人做网站有什么用南京华夏天成建设有限公司网站

报错如下: 解决方案: 在组件.json文件加上"styleIsolation": "apply-shared",:

会计公司网站源码东湖网站建设

目录 一、万字论文,从0到1,只需1小时二、获取途径三、论文从81%降到1.9%四、内容是别人的,话是自己的五、AI工具 --> 中文论文降重六、论文降重小技巧 一、万字论文,从0到1,只需1小时 通过O…

入侵dedecms网站管理员密码asp.net网站sql权限设置

黑龙江省,位于中国最东北部,是我国位置最北、最东,纬度最高,经度最东的省份,气候为温带大陆性季风气候。黑龙江省土地总面积为47.3万平方公里(含加格达奇和松岭区),占全国土地总面积…

广东学校网站建设公司小程序code

目录 一、什么是 Node.js 二、Node.js下载 下载方式1:直接在首页下载(下载的是.msi后缀的安装包) 下载方式2:点击官网顶上的DOWNLOAD 三、Node.js安装 .zip后缀的安装步骤 .msi后缀的安装步骤 一、什么是 Node.js Node.js …

vs做网站怎么放视频讷河做网站公司

今早,一个存储过程,写过很多次的存储过程,随手一写,各种报错,各种纠结,网上一搜,有好多个都遇到,论坛上给出的结局答案,今早,一个存储过程,写过很…

网站开发设wordpress溢价

来源:微软丹棱街5号丹棱君有话说:这是一场解析了 AI 前世今生及未来应用图景的演讲,一场经济学家与科学家的问答,将会对撞出怎样的思想火花?6月13日,微软全球资深副总裁、微软亚太研发集团主席兼微软亚洲研…

本地wordpress建站做网站几天能学会

淘宝店内商品列表接口api代码对接如下: 1.公共参数 名称 类型 必须 描述 key String √ get请求方式拼接在url中,点击获取 api_name String √ api接口名称 cache String 默认否 result_type String 否 json lang String 默认cn 简…

网站静态化 好处建设网站的好公司

🔥学好办公自动化,帮你节省更多宝贵的时间 🔥这个专栏收录python办公自动化的实操案例,利用python实现高效的办公自动化 🔥实现excel,word,文件批处理等自动化操作 可以使用Python的pandas库来实现批量将xls文件另存为xlsx文件的功能。 【Excel自动化07】用pandas库…

网站首页设计过程毕业设计做系统网站好

图卷积神经网络GCN-笔记1.卷积是什么2.图卷积的源起3.空域卷积3.1消息传递网络MPNN3.2 图采样与聚合GraphSage4.频域卷积5.图结构的序列化-Patch-SAN从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (二)(https://www.cnblogs.com/SivilTaram/p/graph_n…

企业网站优化搜行者seo做爰网站視屏

CRNN是OCR领域非常经典且被广泛使用的识别算法,其理论基础可以参考我上一篇文章,本文将着重讲解CRNN代码实现过程以及识别效果。 数据处理 利用图像处理技术我们手工大批量生成文字图像,一共360万张图像样本,效果如下:…