call和apply,bind的区别专讲

  可以干什么?

  改变函数内的this指向;

  什么时候使用?

  构造函数使用this

  为什么使用?

  为了生成对象

  类(函数名不可以带括号).call()      因为this指向对象,所以call的第一个参数为对象    

  function fn(a,b){   (形参)

    this.name="zhang";

    this.age=20

  }

  obj={

    name:"li";

    age:10

  }

  fn.call(obj,a,b)

  fn.apply(obj,[a,b]) (实参)     传参{形参,实参}

  fn.bind(obj)                   bind(把fn中的this改变obj ,但是不调用  适用于事件)

  解析为: fn.prototype={

        name:"li"

        age:10

        }

  浏览器会默认为向下取整:

  定时器的使用时,先清除定时器,然后在写定时器(防止越点越快);

  鼠标拖拽的问题:<div>1</div>

  div中有字体,会出现鼠标焦点的丢失

原文地址:https://www.cnblogs.com/shangjun6/p/10104316.html