致我第一次凉凉的面试

在电话挂断的那一刻起,我就知道,我凉凉了,问的问题,也不算太难,但我就是答不上来(本来信心满满),好多到嘴边儿了,就是说不上来,弄得我头皮发麻,最后面试官问的问题,我都没有记全,就记得了
1.react-hook
2.js 状态提升
如何让函数内的var 定义的变量让全局生效
3.js的几种类型
4.es5 继承
5.微信小程序(忘了问啥了)
6.redux(忘了问啥了)
7.CSS层叠上下文
8.typeof null返回的结果是什么
9.如果没有定义变量,直接打印,控制台是否会报错,如果不报错,返回什么,为什么返回??
10.什么是MVVM


等我搜索一下,再把答案总结上去

1.react-hook

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。
用来替代class组件,使得无状态组件现在官网叫它函数组件也能够使用状态
Usestate
const [count, setCount] = useState(0);

UseEffect可以说是无状态组件的生命周期函数,可以把 useEffect Hook 看做 componentDidMount,componentDidUpdate 和 componentWillUnmount 这三个函数的组合。useEffect 会在每次渲染后都执行吗? 是的,默认情况下,它在第一次渲染之后和每次更新之后都会执行。

2.js 状态提升
可以使用var定义变量,变量如果没有赋值,那变量的初始值为undefined
所有不使用var定义的变量都视为全局变量
2.1.如何让函数内的var 定义的变量让全局生效
在function内不使用显示声明(var )的变量即为全局变量
Window.变量名

https://blog.csdn.net/qq673318522/article/details/50810650?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

2.2react状态提升
在 React 中,将多个组件中需要共享的 state 向上移动到它们的最近共同父组件中,便可实现共享 state。这就是所谓的“状态提升”。

3.js的几种类型
Null,undefined,object,string,boolean,number

Symbol是由ES6规范引入的一项新特性,它是一个独一无二的值

4.es5 继承
原型链继承:利用原型让一个引用类型继承另一个引用类型的属性和方法,即让原型对象等于另一个类型的实例

借用构造函数
o 基本思想:在子类型构造函数的内部调用超类型构造函数,通过使用apply()和call()方法可以在将来新创建的对象上执行构造函数
组合继承
o 基本思想:将原型链和借用构造函数技术组合到一起。使用原型链实现对原型属性和方法的继承,用借用构造函数模式实现对实例属性的继承。这样既通过在原型上定义方法实现了函数复用,又能保证每个实例都有自己的属性

https://www.cnblogs.com/annika/p/9073572.html
5.微信小程序(忘了问啥了)

6.redux(忘了问啥了)

7.CSS层叠上下文

在网页制作的过程中,元素与元素之间的位置关系,在坐标轴上一般可体现为 X 轴、Y 轴和 Z 轴。对于 X 轴和 Y 轴的定位大多数开发都能比较直观的搞清楚,而 Z 轴 则相对较为模糊,或者说不能全面的理解Z轴的显示逻辑。

改变z轴
1.使用position+z-index
https://segmentfault.com/a/1190000020233131
8.typeof null返回的结果是什么

typeof null返回“object”。
历史原因,规范尝试修改typeof null返回“null”修改完大量网站无法访问,为了兼容,或者说历史原因返回"object"。

9.如果没有定义变量,直接打印,控制台是否会报错,如果不报错,返回什么,为什么返回??

会报错,显示

10.什么是MVVM
mvc: 数据层,视图层,控制层
mvvm:数据层,视图层,vm层
vm是数据层和视图层的桥梁,数据与视图分离
11.promise
Promise 是异步编程的一种解决方案
https://www.jianshu.com/p/b16e7c9e1f9f

12.react的生命周期函数

13.浅拷贝与深拷贝
如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。
深拷贝与浅拷贝的概念只存在于引用数据类型
https://www.jianshu.com/p/2188dcd91090
https://zhuanlan.zhihu.com/p/73853308

14.使得一个盒子相对于父盒子水平垂直局中
1,使用flex 父盒子 :justfy-content和align-items
2.
15.闭包
https://www.runoob.com/js/js-function-closures.html

16.localStoreage和sessionStorage的区别
ocalStorage和sessionStorage一样都是用来存储客户端临时信息的对象。
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问
并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅、是会话级别的存储。只允许同一窗口访问。
而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。同源可以读取并修改localStorage数据。

17.前端实时通信

18.em,rem
响应式
em根据它的父节点的font-size
rem根据根节点的font-size

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值