js面试

Posted 芹菜妹纸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js面试相关的知识,希望对你有一定的参考价值。

1.深拷贝与浅拷贝

2.防抖和节流

3.js的微任务和宏任务

4.cdn优化

es6中箭头函数this指向问题

  1. 元素绑定事件,方法中的this是当前操作的元素
  2. 方法名前有点则点前面是谁this就是谁,没有点则this是window(严格模式下是undefined)
  3. 构造函数执行,方法体中的this是当前类的一个实例
  4. 匿名函数具有全局性,因此this对象通常指向window

es6的promise实现原理

redux是怎么通过store渲染UI的

`import {connect} from \'react-redux\';
import {CHANGE_THEME_NAME} from \'@/redux/actionTypes/global\';

interface HomeType {
history: any,

}

@connect(
state => ({

styles: state.styles,

}),
dispatch => ({

changeThemeReq: payload => dispatch({type: CHANGE_THEME_NAME, payload}),

}),
)
class Home extends React.Component<HomeType> {
private onChangeTheme = () => {

const {
  props: {
    styles: {
      name,
    },
  }
} = this;
this.props.changeThemeReq({ name: name === \'default\' ? \'space\' : \'default\' });

};`

call 和 apply的作用

setTimeOut和setInterval的宏任务和微任务

react的生命周期函数

浏览器的事件对象

判断一个对象是否存在某一个属性,不存在则告诉用户"ubdefined",反之为属性值。

var o={x:1};
"x" in o; //true,自有属性存在
"y" in o; //false
"toString" in o;

o.hasOwnProperty("toString"); //false,这是一个继承属性,但不是自有属性

以上是关于js面试的主要内容,如果未能解决你的问题,请参考以下文章

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

前端面试题之手写promise

js代码片段: utils/lcoalStorage/cookie

JS代码片段:一个日期离现在多久了