首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

50道JavaScript详解面试题,你需要了解一下

在这种情况下,只有一个唯一对象,它具有两个常量x和y,它们指向内存唯一象,并在控制台上返回True。 6、数组对象是JavaScript原始对象吗?...20、创建字符串,我们可以修改它吗? 不可以,因为字符串JavaScript是不可变,指向字符串变量可以分配给另一个字符串。 21、承诺链嵌套捕获可以捕获承诺链向上抛出错误吗?...但是,可以JavaScript通过未将所有可能参数都传递给函数时返回不同输出来执行重载。 29、return语句在数组forEach循环中做什么?...它返回h,因为数组JavaScript是从零开始,因此arr [2] [1]将可以访问外部数组第3个元素和内部数组第2个元素,从而得出值“ h”。...是的,例如,if语句中,需要在评估返回一个布尔值,例如if(a!== b)。 50、JavaScript哪个ES6函数返回一个新数组map()和filter()。

3.5K40
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript 稀疏数组世界

Me: 数组长度是由其元素数量决定吗?JavaScript: 嗯,不完全是的……啊,JavaScript 数组! 乍一看,它们似乎很简单,只是一系列项,吧?...因为我们停车管理员完成巡逻,停车场(我们数组)必须保持相同大小!类似地,JavaScript map() 方法将始终返回与原始数组相同长度数组。...为什么?当我们 JavaScript 数组上使用 map() 时,我们参数中提供函数会在分配了值每个索引上调用。我们知道它会忽略空白位置,但它确实会注意每个具有分配值元素。...我们具体示例 arr.map(x => x + 3) ,该函数试图将 3 添加到 undefined JavaScript ,涉及 undefined 任何算术操作都将输出 NaN。...然后,map() 函数将继续在数组其余元素操作。这与字符串不同。

16730

面试前必备 JavaScript 基础知识梳理总结

如果我们手动缩短 length,那么数组就会被截断。 我们可以通过下列操作双端队列方式使用数组: push(...items) 末端添加 items 项。 pop() 从末端移除并返回元素。...遍历元素: forEach(func) —— 每个元素都调用 func,不返回任何内容。 转换数组map(func) —— 根据每个元素调用 func 结果创建一个新数组。...map.set(key, value) —— 根据键存储值。 map.get(key) —— 根据键来返回值,如果 map 不存在对应 key,则返回 undefined。...解构数组完整语法: let [item1 = default, item2, ...rest] = array 数组第一个元素被赋值给 item1,第二个元素被赋值给 item2,剩下所有元素复制到另一个数组...outerHTML元素完整 HTML。 elem.outerHTML 写入操作不会触及 elem 本身。而是在外部上下文中将其替换为新 HTML。

79420

JavaScript 面试必备基础知识梳理(71个知识点)

如果我们手动缩短 length,那么数组就会被截断。 我们可以通过下列操作双端队列方式使用数组: push(...items) 末端添加 items 项。 pop() 从末端移除并返回元素。...遍历元素: forEach(func) —— 每个元素都调用 func,不返回任何内容。 转换数组map(func) —— 根据每个元素调用 func 结果创建一个新数组。...map.set(key, value) —— 根据键存储值。 map.get(key) —— 根据键来返回值,如果 map 不存在对应 key,则返回 undefined。...解构数组完整语法: let [item1 = default, item2, ...rest] = array 数组第一个元素被赋值给 item1,第二个元素被赋值给 item2,剩下所有元素复制到另一个数组...outerHTML元素完整 HTML。 elem.outerHTML 写入操作不会触及 elem 本身。而是在外部上下文中将其替换为新 HTML。

1K10

JavaScript 权威指南第七版(GPT 重译)(三)

6.7 扩展对象 JavaScript 程序一个常见操作是需要将一个对象属性复制到另一个对象。...(这非常类似于稍后将在本章介绍数组map()方法,但在构建数组执行映射比构建数组然后将其映射到另一个数组更有效。) 7.2 读取和写入数组元素 使用[]运算符访问数组元素。...splice()可以从数组删除元素、向数组插入新元素,或同时执行这两个操作数组插入或删除点之后元素索引会根据需要增加或减少,以使它们与数组其余部分保持连续。...Array slice()方法,将该对象元素复制到真实数组对象。...这个函数工作很简单:对于传递给它任何两个值,它返回一个指定哪个元素排序数组首先出现值。

12410

ES2019 8 个非常有用功能

这样就可以展平过程中使用原始数组每个元素。当在对数组进行展平操作同时又要修改内容时很方便。...但是想要反向操作的话就困难了。ES2019 提供了 fromEntries() 来轻松解决这个问题。 这个方法作用很简单。它需要键值可迭代形式,例如数组Map,然后将其转换为对象。...现在能够那些有问题代码段进行分类,并且可以将它们转换回其原始表示形式。 Symbol.prototype.description 符号是 ES2015(ES6)引入新数据类型。...这个属性是只读,无法更改值。它用来返回给定符号描述。 要牢记两点。首先,创建符号时描述不是必须,而是可选。...它缺点是返回字符串还包含 Symbol()。另一个区别是 toString() 方法永远不会返回不存在undefined 描述。

2.1K20

前端面试题---JS部分

通常操作有入栈(压栈),出栈和栈顶元素。想要读取栈某个元素,就是将其之间所有元素出栈才能完成。...map 映射关系数组 map 主要就是有返回值可以return 数组 判断返回boolean 1、map()方法返回一个新数组,新数组元素为原始数组每个元素调用函数处理得到值...执行同步代码时候,如果遇到了异步事件,js 引擎并不会一直等待其返回结果,而是会将这个事件挂起,继续执行执行其他任务 当同步事件执行完毕,再将异步事件对应回调加入到与当前执行不同另一个任务队列中等待执行...当微任务任务都执行完成再去判断宏任务任务。...不同点 map方法返回一个新数组数组元素为原始数组调用函数处理值。(原数组进行处理之后对应一个新数组。)

71520

大话 JavaScript(Speaking JavaScript):第一章到第五章

例如,以下表达式,函数foo()永远不会被调用: false && foo() true || foo() 此外,二进制逻辑运算符返回它们操作数之一,这些操作数可能是布尔值也可能不是。...循环结束,i值为 5,这就是为什么数组所有函数都返回该值。...map通过将函数应用于现有数组每个元素来创建一个新数组: > [1,2,3].map(function (x) { return x*x }) [ 1, 4, 9 ] 正则表达式 JavaScript...此外,已经开发新想法,使 JavaScript 足够快适用于其余应用: asm.js是 JavaScript (非常静态)子集,在当前引擎上运行速度很快,大约相当于编译 C++ 70%...可以说,JavaScript 数组太灵活了:它们不是元素索引序列,而是从数字到元素映射。这样映射可以有空洞:数组“内部”没有关联值索引。

27010

分享近百道JavaScript 基础面试题,帮助你巩固JavaScript 基础知识

setTimeout() 函数用于一定延迟执行指定函数,毫秒为单位。 19. 你如何处理 JavaScript 异步操作?...JavaScript localStorage 对象作用是什么? localStorage 对象允许你浏览器存储存储键值,即使浏览器关闭仍然存在。 21....JavaScript 回调函数是什么? 回调函数是作为参数传递给另一个函数并在稍后或特定事件发生执行函数。 25. JavaScript JSON.parse() 方法用途是什么?...回调函数是作为参数传递给另一个函数并在该函数内部调用函数。一个示例是 setTimeout() 函数,你可以在其中传递一个回调函数以一定延迟执行。 43....slice() 方法返回数组浅表副本,而 splice() 方法通过删除、替换或添加元素更改数组内容。 75.解释JavaScript事件冒泡和事件捕获概念。

17610

数组扩展

, 3, 77); 上面代码,由于 JavaScript 不提供求数组最大元素函数,所以只能套用Math.max函数,将数组转为一个参数序列,然后求最大值。...函数,执行返回是一个遍历器对象,这个遍历器对象执行扩展运算符,就会将内部遍历得到值,转为一个数组。...'c'] 实际应用,常见类似数组对象是 DOM 操作返回 NodeList 集合,以及函数内部arguments对象。...Array.from : obj => [].slice.call(obj) )(); Array.from还可以接受第二个参数,作用类似于数组map方法,用来每个元素进行处理,将处理值放入返回数组...[1, 2, , 4, 5].flat() // [1, 2, 4, 5] flatMap()方法数组每个成员执行一个函数(相当于执行Array.prototype.map()),然后返回值组成数组执行

53110

2021JavaScript面试题(最新)不定时更新(2021.11.6更新)

1、forEach()方法不会返回执行结果,而是undefinedmap()方法会得到一个新数组返回。 2、map能保证原始数组不变。...find() 方法为数组每个元素都调用一次函数执行: 当数组元素测试条件时返回 true 时, find() 返回符合条件元素,之后值不会再调用执行函数。...findIndex() 方法为数组每个元素都调用一次函数执行: 当数组元素测试条件时返回 true 时, findIndex() 返回符合条件元素索引位置,之后值不会再调用执行函数。...map() 通过指定函数处理数组每个元素,并返回处理数组。 pop() 删除数组最后一个元素返回删除元素。 push() 向数组末尾添加一个或更多元素,并返回长度。...find() 方法为数组每个元素都调用一次函数执行: 当数组元素测试条件时返回 true 时, find() 返回符合条件元素,之后值不会再调用执行函数。

2.4K11

Javascript数组方法(ES5-ES6)

排序时,sort()方法会调用每个数组toString()转型方法,然后比较得到字符串,确定如何排序。...这两个方法都返回要查找项在数组位置,或者没找到情况下返回-1,比较第一个参数与书中每一项时,会使用全等操作符。..., 77); 上面的代码,由于javascript不提供数组最大元素函数,所以只能套用Math.max函数,将数组转为一个参数序列,然后求最大值。...函数,执行返回是一个遍历器对象,这个遍历器对象执行扩展运算符,就会将内部遍历得到值,转为一个数组。...Array.from : obj => [].slice.call(obj) )(); Array.from 还可以接受第二个参数,作用类似与数组map方法,用来每个元素进行处理,将处理值放入返回数组

97610

14万字 | 400多道JavaScript 面试题及详细答案(建议收藏)

133 你如何检查一个字符串是否另一个字符串开头? 134 你如何在javascript修剪字符串? 135 你如何在javascript添加一个键值? 136 ‘!...而另一方面,Concat获取数组将其另一个数组连接起来,产生一个没有副作用全新数组。此外,返回值是前一个数组串联。...⬆ 返回顶部 回到第50题 ---- 62.回调回调是什么? 您可以将一个回调嵌套在另一个回调依次执行操作。这被称为回调回调。...您可以页面加载多种不同方式执行 javascript, 窗口.onload: window.onload = function ......sort() 方法用于对数组元素进行原地排序并返回排序数组

12.7K20

JavaScript Types (类型)

在对变量执行 typeof 操作时,得到结果并不是该变量类型,而是该变量持有的值类型,因为 JavaScript 变量没有类型。...# typeof Undeclared 该安全防范机制浏览器运行 JavaScript 代码来说还是很有帮助,因为多个脚本文件会在共享全局命名空间中加载变量。...字符串不可变是指字符串成员函数不会改变其原始值,而是创建并返回一个新字符串。而数组成员函数都是在其原始值上进行操作。...null 是一个特殊关键字,不是标识符,不能将其当作变量来使用和赋值 undefined 是一个标识符,可以被当作变量来使用和赋值 特殊数字 NaN 不是数字数字,即 NaN 如果数学运算操作数不是数字类型...JavaScript 没有指针,引用工作机制也不尽相同。JavaScript 变量不可能成为指向另一个变量引用。 JavaScript 引用指向是值。

38120

你根本不懂Javascript(EP1~EP3.5 基础课)

方法调用执行函数体时候,作为属性访问主体对象和数组便是其调用方法内 this 指向。...由于多数对象都不具备可用valueOf()方法,因此他们会通过toString()方法来执行抓换 进行了对象到原始值转换,如果其中一个操作鼠是字符串的话,另一个操作数也会转换为字符串。...递增「++」运算符操作数进行增量(+1)操作操作数是一个左值(变量、数组元素或者对象属性)。...运算符将操作数转换为数字。 然后给数字加 1,并将加 1 数值重新赋值给变量,数组元素或者对象属性。...对于后者: 注意如果最后 return 里面包含了 map 那么无论如何执行 b()这个 map 值都不会变, 因为返回是一个 Obj 是额外空间 当然这里也可以不放返回返回方法是为了闭合部分接口

98220

JavaScript -- Map vs ForEach

JavaScriptMap和ForEach有什么区别?...Map & ForEach 定义 我们先看一眼它们MDN上定义: forEach() -- 对数组每个元素执行提供函数 map() -- 在被调用数组基础上创建一个新数组,并对数组每个元素执行方法...嗯,forEach方法实际上没有返回什么东西(undefined)。它只是简单为数组每个元素提供一个方法。允许该回调方法改变调用数组。...下面是我forEach()vsmap()测试结果。 正如你看到机器上,forEach()比map()执行速度慢了超过70%。...map()分配内存并存储返回值。forEach()摒弃返回值,并最终返回undefined(这个方法没有返回值)。 forEach()允许回调函数更改当前数组map()将返回一个新数组

39630
领券