# 三、饿了么

# 1.小程序里面开页面最多多少

# 2.React 子父组件之间如何传值

# 3.Emit 事件怎么发,需要引入什么

# 4.介绍下 React 高阶组件,和普通组件有什么区别

  • 高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件,它只是一种模式,这种模式是由 react 自身的组合性质必然产生的。
  • 我们将它们称为纯组件,因为它们可以接受任何动态提供的子组件,但它们不会修改或复制其输入组件中的任何行为。

# 5.一个对象数组,每个子对象包含一个 id 和 name,React 如何渲染出全部的 name

# 6.在哪个生命周期里写

# 7.其中有几个 name 不存在,通过异步接口获取,如何做

# 8.渲染的时候 key 给什么值,可以使用 index 吗,用 id 好还是 index 好

# 9.webpack 如何配 sass,需要配哪些 loader

# 10.配 css 需要哪些 loader

  • css-loader
  • style-loader

# 11.如何配置把 js、css、html 单独打包成一个文件

# 12.div 垂直水平居中(flex、绝对定位)

# 13.两个元素块,一左一右,中间相距 10 像素

# 14.上下固定,中间滚动布局如何实现

# 15.[1, 2, 3, 4, 5]变成[1, 2, 3, a, b, 5]

let arr = [1, 2, 3, 4, 5].splice(3, 1, "a", "b")
1

# 16.取数组的最大值(ES5、ES6)

Math.max.apply(null, arr)
Math.max(...arr)
1
2

# 17.apply 和 call 的区别

apply 第二个参数为数组 call 第二个参数及以后为 arg1,arg2...等形式

# 18.ES5 和 ES6 有什么区别

es6 中添加了很多新功能,其实大部分是 es5 的语法糖

# 19.some、every、find、filter、map、forEach 有什么区别

  • some 只要有一项符合条件就返回 true
  • every 每一项符合条件才返回 true
  • find 查找符合要求的某一项并返回
  • filter 筛选出符合条件的数组项,返回一个新数组,对原数组不会造成影响
  • map 修改符合要求的数组项并返回整个数组
  • forEach 循环遍历整个数组

# 20.上述数组随机取数,每次返回的值都不一样

# 21.如何找 0-5 的随机数,95-99 呢

Math.random() * 5
Math.random() * 5 + 95
1
2

# 22.页面上有 1 万个 button 如何绑定事件

使用事件委托的方式绑定

# 23.如何判断是 button

# 24.页面上生成一万个 button,并且绑定事件,如何做(JS 原生操作 DOM)

使用事件委托和节流处理

# 25.循环绑定时的 index 是多少,为什么,怎么解决

# 26.页面上有一个 input,还有一个 p 标签,改变 input 后 p 标签就跟着变化,如何处理

# 27.监听 input 的哪个事件,在什么时候触发

上次更新: 2022/6/29 上午12:09:44