react(js)笔试题,面试题

作者: 码代码的小公举 | 来源:发表于2018-09-26 16:53 被阅读1次

    //待更新。。。
    1.请写下JavaScript所有数据类型:
    答:1字符串string、2数字number、3布尔boolean、4对象Object(数组array,函数function...)、5Null未定义、6Undefined未负值。(可以用typeof方法打印的类型)
    2.undefined 和 null :
    答:Undefined 这个值表示变量不含有值。可以通过将变量的值设置为 null 来清空变量。
    3.在数组的第一位插入,删除元素:
    答:shift(),unshift()
    4:在数组的末尾插入删除元素:
    答:push(),pop()
    5:在数组的中间插入删除元素
    答:splice(1,2,'替代'),替代位置不填则仅删除,填写则替代
    6:按顺序写下生命周期所在的阶段:

    7:什么是高阶组件并书写一个高阶组件:
    答:high-order-component(高阶组件)类似于高阶函数,即指接受React组件作为参数(重点),输出一个新的组件的函数,在这个函数中,我们可以修饰组件的props与state,所以在一些特定情况下高阶组件可以让我们的代码看起来更优美,更具有复用性
    8:创建一个react组件是什么类型:
    答:function类型
    9:react组件引入后是什么类型:
    答:实例化后为Object类型
    10:说说PureComponent:
    答:浅比较state与props,使得shouldComponentUpdate自动判断是否重新渲染组件。
    注意点是当指向对象一致时,及时对象内部变化也不回渲染。
    当需要组件重新渲染时,

    let {items} = this.state 
    items.push('new-item')
    this.setState({ items })
    //结果不重新渲染
    //需要写成
    let {items} = this.state 
    items.push('new-item')
    this.setState({ items: [...items] })
    

    11: 0.1 +0.2 !== 0.3 为什么
    答:计算机为二进制算法。
    0.1的二进制为0.0001100110011001100110011001100110011001100110011001101
    0.2的二进制为0.001100110011001100110011001100110011001100110011001101
    加起来为:0.010011001100110011001100110011001100110011001100110101化为十进制为0.30000000000000004
    不相等

    1. 类、继承
      js里的类 class 是属于函数,对象的模板typeof的结果回是function,
      js的私有继承:


      来自网络
    //class类 extends 继承 Component组件
    class WaitContainer extends Component {
      /*constructor会覆盖父类的constructor,所以需要传入props绑定,否则无法使用super(name),
        super是代替的是父类的构造函数,
        super(name)相当于sup.prototype.constructor.call(this, name)
      */
      constructor(props) {
          super(props)
          //super关键字来实现对父类成员Component的访问
      }
    }
    
    1. 闭包:(说法好像很多,我取了我觉得合理的)
      答:闭包 = 函数(外层函数)+函数(返回的函数)+外层函数中的环境变量被返回的函数使用(这个变量不会立刻被内存释放)

      例子: 例子
      这里tmp在foo执行结束后没有被立即释放,有可能造成内存泄漏
    1. 线程
      答:是程序执行流的最小单元,可并发执行。

    相关文章

      网友评论

        本文标题:react(js)笔试题,面试题

        本文链接:https://www.haomeiwen.com/subject/qljkoftx.html