call和apply,bind的区别专讲
Posted Web引领者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中有字体,会出现鼠标焦点的丢失
以上是关于call和apply,bind的区别专讲的主要内容,如果未能解决你的问题,请参考以下文章