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

这 11 个前端小知识你不一定知道

为什么?这是因为,当我们调用不带参数 sort 方法时,JavaScript 会将数组元素转换为字符串,然后按字母顺序排序,疯狂吧?...04、交换 很多时候,我会用一个例子来交换数组两个元素或两个变量。曾经为此编写了一个实用程序函数,但这是一种 JavaScript方法。...虽然用了很长时间来学习解构,但从来没有这样想过。 05、Trim 函数 在许多编程语言中,我们在字符串上有一个修剪方法,可以删除字符串任何空格。...但是使用 JavaScript 修剪不会删除字符串所有空格。见下文。..." shivam bhasin ".trim(); // "shivam bhasin" "shivam bhasin".trim(); // "shivam bhasin" 它从您字符串删除所有前导和尾随空格

94820

JavaScript 稀疏数组世界

JavaScript ,arr.length = 最高索引 + 1(加 1 是因为我们 0 开始索引)。确实,这不是你每天都会遇到数组。这就是我们所谓稀疏数组。...我们停车管理员 - map() 函数 - 忽略它们,径直走过它们。一个问题一个合理问题是:如果空白位置被忽略了,为什么它们不被从新数组删除呢?...为什么?当我们在 JavaScript 数组上使用 map() 时,我们在参数中提供函数会在分配了值每个索引上调用。我们知道它会忽略空白位置,但它确实会注意每个具有分配值元素。...然后,map() 函数将继续在数组其余元素上操作。这与字符串不同。...现在还没有答案,并承诺在有答案时更新文章。但是,即使答案是明确“不”,这也无关紧要。这并不会减少 JavaScript 数组这些古怪方面的探索吸引力。古怪之物长存!

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

分享 15 个关于 JS 对象相关基础知识

对象是属性动态集合 事实上,对象是道具动态集合。 创建对象后,我们可以从中添加、编辑或删除属性。下面是在前一个游戏对象添加和删除 year 属性示例。...以下示例 delete 运算符不执行任何操作,它不会原型删除 toString 属性。...类是原型系统之上糖语法 class 关键字创造了一种基于类语言错觉,但事实并非如此。 JavaScript 类只是原型系统上一种糖语法。...当原型被冻结时,它继承对象不能具有同名新属性。考虑以下冻结原型。...总结 以上这些就是你需要了解有关 JavaScript 对象一些最重要知识概念,希望这些内容对你有所帮助,如果你觉得有用的话,请不要忘记点赞,关注,并将它与你开发者朋友一起来分享这篇文章,也许能够帮助到他

82940

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

您可以将它们用于局部变量而不会破坏任何东西,但您代码仍然会变得混乱。 值 JavaScript 有许多我们编程语言中期望值:布尔值、数字、字符串数组等等。...它有一个length属性,您可以通过方括号索引访问其元素。但是,您无法删除元素或调用其中任何数组方法。...循环结束后,i值为 5,这就是为什么数组所有函数都返回该值。...如果在方法内部嵌套函数,这是不方便,因为您无法函数访问方法 this。...可以说,JavaScript 数组太灵活了:它们不是元素索引序列,而是数字到元素映射。这样映射可以有空洞:数组“内部”没有关联值索引。

28510

JavaScript 入门基础 - 对象(五)

JavaScript 入门基础 - 对象 文章目录 JavaScript 入门基础 - 对象 1. 对象 1.1 对象基本理解 1.2 为什么需要变量 2....JavaScript 内置对象 5.1 内置对象基本理解 5.2 Math 对象 5.3 Date 对象 5.4 数组对象 5.4.1 数组对象创建 5.4.2 检测是否为数组方法 5.4.3 添加删除数组元素方法...对象 1.1 对象基本理解 我们生活每一个事物都是一个对象,比如一片树叶、一只狗、一个人等等都可以是对象,在JavaScript当中,对象则指的是一组无序相关属性和方法集合,有字符串、数值、函数等等...,方法等操作完成会返回一个新字符串,查找字符位置用到两个常用方法: 方法名 解释 indexOf(‘查找字符’,起始位置) 返回查找字符在字符串位置,如没有找到返回-1,起始位置可选 lastIndexOf...() 后往前查找,找第一个匹配字符 var str = '亦无他,唯手熟尔。

82710

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

filter() 方法创建一个新数组,其中包含通过回调函数实现所提供测试所有元素。 28. 解释 JavaScript 柯里化概念。...Object.keys() 方法返回给定对象自己可枚举属性名称数组。 51. 如何 JavaScript 数组删除元素?...你可以使用 splice()、pop() 或 shift() 等方法数组删除元素。 52. JavaScript 浅拷贝和深拷贝有什么区别?...闭包是可以其外部词法环境访问变量函数,即使在外部函数完成执行之后也是如此。 60. 如何 JavaScript 数组删除重复项?...你可以使用各种方法数组删除重复项,例如使用 Set、filter() 或 reduce()。 61. 在 JavaScript 如何检查变量是否为数组

18010

分享 35 道 JavaScript 基础面试题

JavaScript 使用原型继承,其中对象可以通过其原型其他对象继承属性和方法。这种机制允许代码重用和对象层次结构创建。 5. 什么是事件委托,为什么它有用?...JavaScript 这一强大功能可以创建更抽象和可重用代码。 9. 为什么函数被称为First-class Objects?...参数对象是所有函数可用局部变量,包含函数参数类似数组列表。它提供了一种访问参数方法,无论函数签名定义数量如何。 14. 如何创建没有原型对象?...要在 JavaScript 创建没有原型对象,可以使用 Object.create(null) 或现代语法:{}。前者创建一个没有任何原型链对象,使其成为一个干净石板。...模板文字是一种在 JavaScript 中使用反引号 (`) 连接字符串方法。它们允许在字符串嵌入表达式,提高可读性并简化复杂字符串构造。 21.什么是对象解构?

16010

35道JavaScript 基础内容面试题

JavaScript 使用原型继承,其中对象可以通过其原型其他对象继承属性和方法。这种机制允许代码重用和对象层次结构创建。 5. 什么是事件委托,为什么它有用?...JavaScript 这一强大功能可以创建更抽象和可重用代码。 9. 为什么函数被称为First-class Objects?...参数对象是所有函数可用局部变量,包含函数参数类似数组列表。它提供了一种访问参数方法,无论函数签名定义数量如何。 14. 如何创建没有原型对象?...要在 JavaScript 创建没有原型对象,可以使用 Object.create(null) 或现代语法:{}。前者创建一个没有任何原型链对象,使其成为一个干净石板。...模板文字是一种在 JavaScript 中使用反引号 (`) 连接字符串方法。它们允许在字符串嵌入表达式,提高可读性并简化复杂字符串构造。 21.什么是对象解构?

6710

金九银十: 50 个JS 必须懂面试题为你助力

indexOf() 它返回指定值第一次出现时调用字符串对象索引。 length() 它返回字符串长度。 pop() 它从数组删除最后一个元素并返回该元素。...]]); 说明:call方法可以用来代替另一个对象调用一个方法,call方法可以将一个函数对象上下文初始上下文改变为obj指定新对象,如果没有提供obj参数,那么Global对象被用于obj apply...如果在其他任何地方都没有对原始数组arrayList引用,则建议这样做���因为它实际上会创建一个新数组。...delete操作符用于对象删除属性。这里x不是一个对象,而是一个局部变量,删除操作符不影响局部变量。...函数定义只能有一个引用变量作为其函数名。 问题49:为什么要将JS源文件全部内容包装在一个函数 这是一种越来越普遍做法,被许多流行JS库所采用。

6.5K31

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

JavaScript,我们处理大多数事物都是对象,类似地,数组只是JavaScript特殊对象,它们具有其他对象所没有的属性。 7、以下函数返回类型是什么?...答案,是B,因为异步函数JavaScript返回Promises 。 8、等待关键字会阻止应用程序所有JavaScript代码执行,直到返回等待Promises?...20、创建字符串后,我们可以修改它吗? 不可以,因为字符串JavaScript是不可变,指向字符串变量可以分配给另一个字符串。 21、承诺链嵌套捕获可以捕获在承诺链向上抛出错误吗?...但是,可以在JavaScript通过在未将所有可能参数都传递给函数时返回不同输出来执行重载。 29、return语句在数组forEach循环中做什么?...34、使用缩减函数数字数组中找到最小值。 35、JavaScript子程序是什么? 子例程是主例程遇到函数,然后将其保存到对象并存储以供以后使用。

3.5K40

JavaScript 数组 API 全解析

你将会学到复杂数据处理、解构、常用数组方法等内容。 为什么写这篇文章 网上已经有很多介绍 JavaScript 数组优秀文章,那我为什么还要写一篇相同主题文章呢?动机是什么?...JavaScript 数组是什么 在 JavaScript ,一对方括号([]) 表示一个数组,其中所有元素以逗号(,) 分隔。...使用 splice() 方法向数组添加一个元素,需要传入插入目标位置、目标位置算起想要删除元素数量以及要插入元素。...下面的例子,我们在索引为 1 位置上插入了一个元素 zack,没有删除任何元素。...所有数组迭代器方法都接收一个函数作为参数,需要在这个函数声明迭代逻辑。 filter() 方法 filter() 方法用所有满足过滤条件元素来创建一个新数组

2.2K20

50 个JS 必须懂面试题为你助力金九银十

内置方法 返回值 CharAt() 它返回指定索引处字符。 Concat() 它连接两个或多个字符串。 forEach() 它为数组每个元素调用一个函数。...indexOf() 它返回指定值第一次出现时调用字符串对象索引。 length() 它返回字符串长度。 pop() 它从数组删除最后一个元素并返回该元素。...]]); 说明:call方法可以用来代替另一个对象调用一个方法,call方法可以将一个函数对象上下文初始上下文改变为obj指定新对象,如果没有提供obj参数,那么Global对象被用于obj apply...delete操作符用于对象删除属性。这里x不是一个对象,而是一个局部变量,删除操作符不影响局部变量。...函数定义只能有一个引用变量作为其函数名。 问题49:为什么要将JS源文件全部内容包装在一个函数 这是一种越来越普遍做法,被许多流行JS库所采用。

4.4K30

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

354 如何字符串删除所有换行符? 355 回流和重绘有什么区别? 356 否定数组会发生什么? 357 如果我们添加两个数组会发生什么? 358 在假值上添加加法运算符输出是什么?...359 如何使用特殊字符创建自字符串? 360 如何数组删除虚假值? 361 你如何获得数组唯一值? 362 什么是解构别名? 363 如何在不使用 map 方法情况下映射数组值?...表格形式一些主要区别 slice() splice() 不修改原始数组(不可变) 修改原始数组(可变) 返回原始数组子集 将删除元素作为数组返回 用于数组中选取元素 用于在数组插入或删除元素...⬆ 返回顶部 回到第350题 ---- 354.如何字符串删除所有换行符? 最简单方法是使用正则表达式来检测和替换字符串换行符。...通过这种方式,它会数组删除所有虚假值(0、未定义、空值、假和“”)。

12.7K20

【JS进阶】你真的掌握变量和类型了吗

本文底层原理到实际应用详细介绍了JavaScript变量和类型相关知识。...pop() 删除数组最后一个元素,如果数组为空,则不改变数组,返回undefined,改变原数组,返回被删除元素 push()向数组末尾添加一个或多个元素,改变原数组,返回新数组长度 shift()...)颠倒数组中元素顺序,改变原数组,返回该数组 sort()对数组元素进行排序,改变原数组,返回该数组 splice()数组添加/删除项目,改变原数组,返回被删除元素 下面我们通过几个操作来对比一下原始类型和引用类型区别...首先明确一点,ECMAScript中所有函数参数都是按值传递。...)属性,是一个普通对象 3.所有函数都具有prototype(显式原型)属性,也是一个普通对象 4.所有引用类型proto值指向它构造函数prototype 5.当试图得到一个对象属性时,如果变量本身没有这个属性

3.2K30

程序猿都没对象,JS竟然有对象?

平时用得多无非是if for 逻辑处理字符串,截断字符串数组,然后是查找元素,对元素背景什么属性操作,这些都是些实用性上东西,这里讲一些更深入点,如何理解Javascript对象。   ...JavaScript所有事物都是对象, 包括字符串数组、日期、数字,甚至是函数(验证方法是你可以在实例上 . 出属性)。   ...delete操作符可以删除对象某个属性,判断某个属性是否存在可以使用"in"操作符,需要注意是对象属性是没有顺序。...,对象是无序数据集合,而数组则是有序数据集合,数组数据(元素)通过索引(0开始)来访问,数组数据可以是任何数据类型,数组本身仍旧是对象,创建数组可以用"[]"操作符,或者是用Array(...delete操作符删除数组元素,注意这个删除仅仅是将数组在该位置元素设为undefined,数组长度并没有改变。

1K60

前端面试必备ES6全方位总结

为什么会添加这个块级作用域,就得了解ES5没有块级作用域时出现问题。 场景一是内层变量可能会覆盖外层变量。 场景二是在if或者是for循环中声明变量会泄漏成为全局变量。...使用for...of来遍历数组值 操作方法 共有的方法:delete删除,has有无,clear清空。对于Set添加操作是add(),而Map是set设置和get获取。...keys获取所有键,values获取所有值,entries获取所有键和值,forEach遍历所有键和值。 箭头函数 ES6使用箭头函数(=>)来定义函数。...delete(value):存在即删除集合value has(value):判断集合是否存在 value clear():清空集合 遍历方法 keys():返回一个包含集合中所有迭代器 values...key delete(key):通过键 key 字典移除对应数据 clear():将这个字典所有元素删除 遍历方法 Keys():将字典包含所有键名以迭代器形式返回 values():将字典包含所有数值以迭代器形式返回

1.2K30
领券