首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

一文彻底弄懂 for forEach for-in for-of 区别

20190228105221.png 上述提到几个遍历方法中只有 for-in 循环才能够打印出这个键值对: for (const key in array) { console.log(array...[key]) } 实际应用问题 通常情况下,不建议使用 for-in 来遍历数组,除非你知道这个数组对象中没有这样属性 数组空项 假设要遍历数组张这样:array = ['a', , 'c'] /...undefined c for (const iterator of array) { console.log(iterator) // 没有跳过空值 } 上面几个遍历方法,只有 forEach ...for-in 遍历会跳过空值,值得注意是,如果空值明确设置为 undefined 如 ['a', undefined, 'c'] 那么所有遍历方法都能够将 undefined 遍历出来 实际应用问题...在 JSON 中是不支持这样空值,如果在 parse 方法调用时传入 JSON 字符串数据含有空值,会报错: JSON.parse('["a", , "c"]') // 所以建议使用 for-of

1.1K30

JS ?. ??

.) ---- 可选链操作符 允许读取位于连接对象链深处属性值,而不必明确验证链中每个引用是否有效 ?. 可选链操作符功能类似于 ....链式操作符,不同之处在于引用为空情况下不会引起错误,该表达式短路返回值 下面代码运行有错误,原因很简单, user.age 值是 undefined,从 undefined 中读取 num 属性当然会报错...遇到次数也不是太多,但还是非常有必要知道这个东西用法 空值合并操作符(??)...: 只有当左侧为 null 或 undefined 时,才会返回右侧数 与逻辑或操作符(||)不同,逻辑或操作符左侧值为假值时返回右侧操作符。... 可选链操作符 (?.) 配合使用就非常美妙 console.log(user.age?.num ?? 18);

2.6K20

Jsexportimport

1、前言 在日常工组学习中,我们经常会看到Js代码中export、import关键字,那它到底是什么用呢?今天我们就一起来看看。...2、关于export export中文意为“导出”,import中文意为“导入”,在JsES6规发布后,module成为标准,我们单个文件中变量接口(方法)需要使用export关键字导出后才能被其他文件调用...对应我们在需要调用接口文件中使用import关键字来导入,这点其他语言类似。...,age变量 export {sai_hi,name,age} 3.2、demo内容 展示如何导入数据使用。...4、小结 以上就是我们今天全部内容,虽然很简单,但是以最简单明了例子来记录了Jsexportimport用法。

2.2K30

JS同步异步

利用多核CPU计算能力,HTML5提出Web Worker标准,允许Javascript脚本创建多个线程,于是,JS中出现了同步异步。 它们本质区别是这条流水线上各个流程执行顺序不同。...同步 前一个任务执行结束后再执行执行后一个任务,程序执行顺序与任务排列顺序是一致、同步。比如做饭同步做法:先烧水煮饭,等水开了(10分钟之后),再去切菜,炒菜。...异步 你在做一件事情时,因为这件事情会花费很长时间,在做这件事同时,你还可以去处理其他事情。比如做饭异步做法,我们在烧水同时,利用这10分钟,去切菜,炒菜。...JS异步是通过回调函数实现。 一般而言,异步任务有以下三种类型: 普通事件,如click,resize等。 资源加载,如load,error等。...一旦执行栈中所有同步任务执行完毕,系统就会按次序读取任务队列中异步任务,于是被读取异步任务结束等待状态,进入执行栈,开始执行。

3K30

Jscookiesession

Cookie概念:保存在客户端一个字符串属性,读取cookie值时,得到一个字符串;cookie除了name名value值外,还有expires过期时间、path路径、domain域、以及secure...JS代码Cookie值得存入:  cookie就是文档一个字符串属性。...例: document.cookie = "username" +username;        JS代码Cookie值得读取:               //定义变量储存cookie                 ...不要依赖cookies存在,不要在每个cookie里保存太多信息。不要保存太多cookes。但是,抛除这些限制,在技巧高超WEB管理员手里,cookie概念是一个有用工具。...Session概念:保存在服务器端字符串属性;        Session值存入:session.setAttribute("name",name);        Session值得读取: String

5.8K40

【node.js】node.js安装配置

文章目录 前言 下载安装 Path环境变量 测试 推荐插件 总结 ---- 前言 Node.js是一个在服务器端可以解析执行JavaScript代码运行环境,也可以说是一个运行时平台,仍然使用JavaScript...作为开发语言,但是提供了一些功能性API。...---- 下载安装 Node.js官方网址是https://nodejs.org,进入官方网址,可以看到两个版本安装包,LTS是长期稳定版,Current是最新版。...进入Path,就可以看到Nodejs环境变量啦 测试 接下来,我们进行一个测试,创建一个1.js文件,输入console.log("Hello World!")并保存。...找到文件保存路径,在路径框输入cmd,单击回车,会直接进入该文件夹中。接着输入node 1.js,终端成功输出“Hello World!”

8.9K30

jscallapply

一、callapply简介 call() apply() 是预定义函数方法。 两个方法可用于调用函数,两个方法第一个参数必须是对象本身。 两个方法都使用了对象本身作为第一个参数。...两者区别在于第二个参数: apply传入是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call参数传入(从第二个参数开始)。...在 JavaScript 严格模式(strict mode)下, 在调用函数时第一个参数会成为 this 值, 即使该参数不是一个对象。...二、callapply相同点不同点 1. 区别 call传递参数是序列1,2,3,4 apply传递参数是集合型[1,2,3,4] 2....相同点 callapply是替换前面函数内部this指针以及传递参数。 功能:可以自动执行前面的函数 都有两个参数:a. 替换对象 b.

1.6K30

JS事件冒泡捕获

天时地利迷信~ ---- 各位宝宝,最近怎么样?北京冬天来了,好冷,幸好下了一场不大不小雪,否则对冬天真是喜欢不起来。...事件机制 ---- 事件触发三个阶段: window往事件触发处传播,遇到注册捕获事件会触发 传播到事件触发处时触发注册事件 从事件触发处往window传播,遇到注册冒泡事件会触发 事件触发一般会按照...W3C event model |------------------------------------------- 但是有一个特例:如果给body中子节点同时注册冒泡捕获事件...true) 当点击innner元素时,如下元素发生了: 点击事件开始于捕获阶段,在此阶段浏览器会在所有祖先元素上查找点击事件处理函数(从document开始) 结果找到了2个,分别在documentouter...于是,documentouter点击处理函数被执行 继续向下寻找,直到到达inner元素本身,捕获阶段就此结束。

2.5K20
领券