js

作者: 阿帕奇哟 | 来源:发表于2018-07-02 15:52 被阅读0次

    1.闭包

    1 .概念:可以是外部变量访问内部变量,函数套函数。
    闭包就是能够读取其他函数内部变量的函数
    2.用途:可以在写组件和面向对象的时候用到等
    3. 优点:可以定义多个变量,安全性较高,
    4.缺点:定义多变量,会导致内存较大,容易泄露,不容易清除,可能会影响浏览器的性能问题等
    5.注意点:
    (1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。
    (2)闭包会在父函数外部,改变父函数内部变量的值。所以,如果把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。

    2.普通函数和箭头函数区别:

    箭头函数没有自己的this,它的this是其父级函数的this普通函数是有自己的this,他的this是在程序运行时确定的

    3.call,apply,bind的理解

    1.相同点:call,apply,bind都可以改变this指向
    2..区别:call和apply的传参形式不同,
    函数名.call(要改变的对象,参数1,参数2,......) 函数名.apply(要改变的对象,[参数1,参数2,......])bind返回函数本身,但this已经改变了 函数.bind(要改变的对象)(参数1,参数2,......)或函数.bind(要改变的对象,参数1,参数2,......)()

    4、js的基本数据类型

    Number、String、Boolean、Null、Undefined
    symbol:是ES6新增加的基本数据类型
    还有复杂数据类型:Object(Array、Json等)

    相关文章

      网友评论

          本文标题:js

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