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

JS常见问题总结

splice()删除、添加、替换于一身 arr.splice(1) //当前位置开始删除,删除末尾 arr1.splice(1,1,1) // 1 的位置开始删除,删除一个,用 1 代替 arr.splice...事件捕获阶段:事件的传播是最不特定的事件目标最特定的事件目标。。 确定目标阶段:通过捕获确定具体触发事件的元素 事件冒泡阶段:事件的传播是最特定的事件目标最不特定的事件目标。...原型: 在 JavaScript 中,每当定义一个函数数据类型(普通函数、类)时候,都会天生自带一个 prototype 属性,这个属性指向函数的原型对象,并且这个属性是一个对象数据类型的值。...浅拷贝(false 默认):如果第二个参数对象有的属性第一个参数对象也有,那么不会进行相同参数内部的比较,直接第一个对象的相同参数覆盖。...深拷贝(true):如果第二个参数对象有的属性第一个参数对象也有,还要继续在这个相同的参数向下一层找,比较相同参数的对象中是否还有不一样的属性,如果有,将其继承第一个对象,如果没 有,则覆盖。

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

前端相关片段整理——持续更新

提供了遍历所有数据结构的统一操作接口,循环普通对象结合 bject.keys() 搭配使用 可自动遍历generator函数生成的iterator对象 除了遍历数组元素以外,还会遍历自定义属性 1.4...ES6 Object.assign 源对象(source)的所有可枚举属性,复制目标对象(target) Object.assign(target, source1, source2); 后面属性覆盖前面同名属性...一个参数时,返回该参数 参数不是对象,转成对象(undefined,null会报错),若为源对象位置,则跳过 可用来操作数组,数组视为对象 浅拷贝非深拷贝(若源对象的有对象属性值,则拷贝的是该引用)...库,主要用于构建ui,普通的DOM以数据结构的形式展现出来 永远只需要关心数据整体,两次数据之间的UI如何变化,则完全交给框架去做,使用React大大降低了逻辑复杂性 Virtual DOM并没有完全实现...事件委托和this 4.4.1. 事件委托 由其它元素而非事件目标元素来响应事件产生的行为的思想。如用ul元素来处理其子元素li的事件

1.4K10

分享63个最常见的前端面试题及其答案

现在,让我们以简洁明了的方式探讨这些问题的解决方案: 01、什么是事件传播? 事件传播是一种机制,定义事件如何传播或穿过 DOM 树到达其目标以及随后会发生什么。...call 和 apply 都用于更改函数的“this”作用域。主要区别在于如何参数传递函数。...props 和 state 都是 React 组件中使用普通 JavaScript 对象。props 从父组件传递子组件,用于组件内不会更改的数据。...在数组上使用 ES6 怎么样? ES6 映射提供了一些优势,例如支持任何数据类型作为键、内置大小跟踪、迭代和顺序保存。...HTTP GET 和 POST 请求都用于数据客户端传输到服务器。但是,GET 请求包括附加到 URL 的请求参数,而 POST 请求包括消息正文中的请求参数

4.4K20

分享 63 道最常见的前端面试及其答案

现在,让我们以简洁明了的方式探讨这些问题的解决方案: 01、什么是事件传播? 事件传播是一种机制,定义事件如何传播或穿过 DOM 树到达其目标以及随后会发生什么。...call 和 apply 都用于更改函数的“this”作用域。主要区别在于如何参数传递函数。...props 和 state 都是 React 组件中使用普通 JavaScript 对象。props 从父组件传递子组件,用于组件内不会更改的数据。...在数组上使用 ES6 怎么样? ES6 映射提供了一些优势,例如支持任何数据类型作为键、内置大小跟踪、迭代和顺序保存。...HTTP GET 和 POST 请求都用于数据客户端传输到服务器。但是,GET 请求包括附加到 URL 的请求参数,而 POST 请求包括消息正文中的请求参数

17730

这10个JavaScript 知识点,建议每个前端开发者都要深入理解

程序的输出可能会因浏览器或JavaScript环境而略有不同,但执行顺序演示了事件循环如何优先处理队列中不同类型的任务(回调)。...在这个程序中,我们定义了一个名为countUp的生成器函数。countUp生成器使用for循环指定的起始值结束值产生数字。yield关键字用于暂停生成器并发出当前值。...在这个程序中,我们有三个函数:multiply、divide和add。 multiply函数是一个使用function关键字定义的普通函数。它接受两个参数(a和b),并返回它们的乘积。...divide函数是一个使用箭头(=>)语法定义的箭头函数。它也接受两个参数,并返回它们的除法结果。箭头函数相比普通函数提供了更简洁的语法。 add函数是另一个箭头函数,但它使用了隐式返回。...接下来,我们使用Proxy构造函数创建一个代理对象,obj作为目标对象和handler对象传递给它。 然后,我们通过代理访问属性(name和age),并为age属性设置一个新值。

17830

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

如果一个数据属性不可配置,你就无法将其更改为访问器属性。 如果一个数据属性不可配置,你就无法将其可写属性false更改为true,但你可以将其true更改为false。...§6.7 描述了Object.assign()函数,它将一个或多个源对象的属性值复制目标对象中。Object.assign()只复制可枚举属性属性值,而不是属性属性。...以及,Emotion 库使用css标记函数来使 CSS 样式嵌入 JavaScript 中。本节演示了如何编写自己的类似这样的标记函数。...例如,下面的代码使用 Proxy 创建了一个目标对象的只读包装器。当代码尝试对象中读取值时,这些读取会正常转发到目标对象。...如果你试图了解一个未记录的函数如何使用传递给它的对象,使用记录代理可以帮助。

17510

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

事件对象 此对象与特定事件相关联,并包含有关该事件的详细信息。事件对象作为参数传递事件处理程序函数。所有事件对象都有一个type属性,指定事件类型,以及一个target属性,指定事件目标。...设置事件处理程序属性 注册事件处理程序的最简单方法是事件目标属性设置为所需的事件处理程序函数。...在事件目标本身上注册的捕获事件处理程序不会被调用。 事件捕获提供了一个机会,在事件传递目标之前查看事件。...使用 POST 请求时,一组名称/值参数传递请求体中(而不是将它们编码 URL 的查询部分)是相当常见的。...传递给此处理程序的事件对象具有一个promise属性,其值是被拒绝的 Promise 对象,以及一个reason属性,其值是传递给.catch()函数的值。

75310

整理了近期阿里携程的面试题,分享给大家(后期会慢慢完善)

区别:他们的区别在于接收参数的方式不同: call():第一个参数是this值没有变化,变化的是其余参数都直接传递函数。在使用call()方法时,传递函数参数必须逐个列举出来。...apply():传递函数的是参数数组 javascript 有几种类型的值?能否画一下它们的内存图?...ReduxReact组件划分为哪两种? Redux是如何state注入React组件上的?...从而形成了所谓的“原型链” 原型特点: javascript对象是通过引用来传递的,当修改原型时,与之相关的对象也会继承这一改变 10.javascript如何实现继承 构造函数绑定:使用 call 或...事件的代理/委托 事件委托是指事件绑定目标元素的父元素上,利用冒泡机制触发该事件 优点: 可以减少事件注册,节省大量内存占用 可以事件应用于动态添加的子元素上 缺点: 使用不当会造成事件在不应该触发时触发

1.6K21

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

原型继承在 JavaScript 中是如何工作的? JavaScript 使用原型继承,其中对象可以通过原型链其他对象继承属性和方法。 16. JavaScript 中的箭头函数是什么?...JavaScript 中的回调函数是什么? 回调函数是作为参数传递给另一个函数并在稍后或特定事件发生后执行的函数。 25. JavaScript 中 JSON.parse() 方法的用途是什么?...事件捕获和事件冒泡是 DOM 中事件传播的两个不同阶段。在捕获阶段,事件首先被最外层的祖先元素捕获,在冒泡阶段,目标元素向上传播。 41....回调函数是作为参数传递给另一个函数并在该函数内部调用的函数。一个示例是 setTimeout() 函数,你可以在其中传递一个回调函数以在一定延迟后执行。 43....您可以使用 toFixed() 方法数字四舍五入特定的小数位。 80. 解释 JavaScript事件处理的概念。

18110

Webkit底层原理(4)--DOM事件机制和Shadow DOM

事件的工作过程 事件在工作过程中使用两个主体,第一个是事件(event),第二个是事件目标(EventTarget)。每个事件都有属性来标记该事件事件目标。...事件可以在这一传递过程中被捕获,只需要在注册监听函数的时候设置相应的参数即可。addEventListener的第三个参数就是表示这个含义。默认情况下,其他节点不捕获这样的事件。...事件的冒泡过程是自底向上,它的默认行为是不冒泡,但是事件包含一个时候冒泡的属性。当这一属性为真的时候,渲染引擎会将该事件首先传递事件目标节点的父亲,然后是父亲的父亲,一次类推。...当使用JavaScript代码访问HTML文档的DOM树的时候,普通的接口是不能直接访问到Shadow DOM中的节点的,JavaScript需要特殊的接口才能访问。...既然Shadow DOM在整个网页DOM树中不可见,那么事件如何处理呢?事件中需要包含事件目标,这个目标当然不能是不可见的节点,所以事件目标其实就是包含Shadow DOM子树的节点对象。

1.2K40

【前端面试题】03—200+道常见JavaScript基础面试题上(附答案)

JavaScript也是囊括知识点最多的部分,BOMDOM, ECMAScript编程简单算法的实现等,都是 JavaScript部分面试题主要考察的内容。...call第二个参数开始,每一个参数会依次传递给调用函数;apply的第二个参数是数组,数组的每一个成员会依次传递给调用函数。...这通常意味着这些函数可以作为参数传递给其他函数,作为其他函数的值返回,分配给变量,也可以存储在数据结构中。 22、什么是事件?E与 Firefox的事件机制有什么区别?如何阻止冒泡?...30、JavaScript如何使用事件处理程序? 事件是由用户与页面的交互(例如单击链接或填写表单)导致的操作。需要个事件处理程序来保证所有事件的正确执行。事件处理程序是对象的额外属性。...push方法用于一个或多个元素添加或附加到数组的末尾。使用这种方法,可通过传递多个参数来附加多个元素。 88、在 JavaScript中, unshift方法的作用是什么?

4.4K10

已阅冴羽大佬文章

,不能使用小数点表示法来引用它们,方括号表示法允许任意字符串用作属性名。...深入系列专题 1.JavaScript 深入之原型原型链 JavaScript 深入之原型原型链 2.JavaScript 深入之词法作用域和动态作用域 JavaScript 深入之词法作用域和动态作用域...深入之执行上下文 JavaScript深入之执行上下文 8.JavaScript深入之闭包 JavaScript深入之闭包 9.JavaScript深入之参数按值传递 JavaScript深入之参数按值传递...函数就是对象的一个子类型,JavaScript中的函数是“一等公民”,因为它们本质上和普通的对象一样,所以可以像操作其他对象一样操作函数。...在捕获阶段,事件对象通过目标的祖先从窗口传播到目标的父级。 在目标阶段,事件对象到达事件对象的事件目标。 在冒泡阶段,事件对象以相反的顺序通过目标的祖先传播,目标的父级开始,窗口结束。

90220

求职 | 史上最全的web前端面试题汇总及答案2

(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。 (3)对象没有赋值的属性,该属性的值为undefined。 (4)函数没有返回值时,默认返回undefined。...2、如何使用Ajax服务器获取数据?...如果没有数据,可以不传或者传递null;如果post请求传递数据:首先设置xhr的请求头信息: 再传递参数: 3、解释XMLHttpRequest是什么?...使用bind()方法注册事件,但通常我们使用事件同名的方法注册更方便,如:click()、hover()等。 4、如何获取Html内容?如何获取文本内容?如何获取属性值?如何获取input值?...⑤getJSON:专门用于向服务器请求json格式数据的便捷方法。 7、如何使用服务器获取一个复杂数据(对象)? ①通常会把这个数据转换为通用的数据交换格式,如xml或json。

6K20

【面试】386- JavaScript 面试 20 个核心考点

一、变量类型 1.JS 的数据类型分类 根据 JavaScript 中的变量类型传递方式,分为基本数据类型和引用数据类型。...在参数传递方式上,有所不同: 函数参数如果是简单类型,会将一个值类型的数值副本传到函数内部,函数内部不影响函数外部传递参数变量 如果是一个参数是引用类型,会将引用类型的地址值复制给传入函数参数函数内部修改会影响传递参数的引用对象...手写递归方法 递归实现深拷贝的原理:要拷贝一个数据,我们肯定要去遍历它的属性,如果这个对象的属性仍是对象,继续使用这个方法,如此往复。...(1)捕获阶段:事件window对象自上而下向目标节点传播的阶段;(2)目标阶段:真正的目标节点正在处理事件的阶段;(3)冒泡阶段:事件目标节点自下而上向window对象传播的阶段。...如何阻止冒泡? 通过 event.stopPropagation() 方法阻止事件冒泡父元素,阻止任何父事件处理程序被执行。

45210

JavaScript 面试 20 个核心考点

一、变量类型 1.JS 的数据类型分类 根据 JavaScript 中的变量类型传递方式,分为基本数据类型和引用数据类型。...在参数传递方式上,有所不同: 函数参数如果是简单类型,会将一个值类型的数值副本传到函数内部,函数内部不影响函数外部传递参数变量 如果是一个参数是引用类型,会将引用类型的地址值复制给传入函数参数函数内部修改会影响传递参数的引用对象...手写递归方法 递归实现深拷贝的原理:要拷贝一个数据,我们肯定要去遍历它的属性,如果这个对象的属性仍是对象,继续使用这个方法,如此往复。...,并且构造函数设置为子类,这样既解决了无用的父类属性问题,还能正确的找到子类的构造函数。...(1)捕获阶段:事件window对象自上而下向目标节点传播的阶段;(2)目标阶段:真正的目标节点正在处理事件的阶段;(3)冒泡阶段:事件目标节点自下而上向window对象传播的阶段。

38310

横扫 JS 面试核心考点

Javascript是前端面试的重点,本文重点梳理下Javascript中的常考知识点,然后就一些容易出现的题目进行解析。限于文章的篇幅,无法知识点讲解的面面俱,因此只罗列了一些重难点。...JS 的数据类型分类 根据 JavaScript 中的变量类型传递方式,分为基本数据类型和引用数据类型。...闭包主要有两个应用场景: 函数作为参数传递(见作用域部分例子); 函数作为返回值(如下例)。...这种传播分成三个阶段: 捕获阶段:事件window对象自上而下向目标节点传播的阶段; 目标阶段:真正的目标节点正在处理事件的阶段; 冒泡阶段:事件目标节点自下而上向window对象传播的阶段。...横扫 Javascript 面试核心考点 如何阻止冒泡? 通过event.stopPropagation() 方法阻止事件冒泡父元素,阻止任何父事件处理程序被执行。

1.5K03

常见react面试题

React-Router如何获取URL的参数和历史对象? (1)获取URL的参数 get传值 路由配置还是普通的配置,如:'admin',传参方式如:'admin?id='1111''。...钩子函数中的是异步 原生事件中是同步 setTimeout中是同步 如何有条件地向 React 组件添加属性?...这样简单的单向数据流支撑起了 React 中的数据可控性。 当项目越来越大的时候,管理数据事件或回调函数越来越多,也越来越不好管理。管理不断变化的 state 非常困难。...使用了 Redux,所有的组件都可以 store 中获取到所需的 state,他们也能从store 获取到 state 的改变。这比组件之间互相传递数据清晰明朗的多。...对React的插槽(Portals)的理解,如何使用,有哪些使用场景 React 官方对 Portals 的定义: Portal 提供了一种子节点渲染存在于父组件以外的 DOM 节点的优秀的方案 Portals

3K40
领券