JS高级(四)

call方法

  • 调用一个对象。调用函数的方式,但是可以改变函数this 的指向。
  • fun.call(thisArg, arg1, arg2);
    • thisArg: 在fun函数运行时指定的this值

apply方法

  • 应用

    • 和数组建立联系
  • 求数组中最大值

    • Math.max.apply(arr, arr);
      Math.max.apply(什么都行,没有this, 需要传入的数组,apply后面参数只能是数组格式的参数);
      

bind方法

  • bind()方法不会调用函数。但是能改变函数内部this指向。
  • bind(this需要指向的对象,参数)
  • 返回一个改变了this指向的新函数

开启严格模式

  • 严格模式下this指向问题
  • 严格模式下普通函数 this指向 undefined
  • 函数变化
    • 不许出现重名参数

高阶函数

  • 把函数当做参数传递
  • 把函数当做返回值返回
  • m && m();

闭包

  • 变量作用域
  • 函数的返回值谁调用给谁
  • 局部变量在函数执行完成之后销毁
  • 函数在调用完成之后会将返回值返回给调用者,把返回值带回去

什么是闭包

  • 作用:延伸变量作用范围
  • 一个作用域访问另外一个函数内部的局部变量
  • Closure 闭包针对变量来说

递归

  • 函数自己调用自己
  • 执行有两个阶段
    • 先是递归阶段
    • 然后是返回阶段

posted @ 2019-09-27 20:11  itxcr  阅读(89)  评论(0)    收藏  举报