call、apply、bind的区别

1、call和apply的区别

相同点:调用函数,改变函数中的this

apply:最多只能有两个参数——新this对象和一个数组argArray。

call:它可以接受多个参数,第一个参数与apply一样,后面则是一串参数列表。

Bind:该变函数中的this,不会调用函数,而是把函数复制一份

2、在js的计时器运行原理是怎么样的?为什么可以出发计时器效果?计时器是多线程吗?

原理:计时器通过设定一定的时间段(毫秒)来异步的执行一段代码。因为javascript是一个单线程语言,计时器提供了种绕过这种语言限制来执行代码的能力。总结:计时器是单线程的,需要等待上一个执行完,如果上一个没有执行完,下一个需要延迟执行,直到上一个执行完.

3、什么是事件的冒泡和捕获?

事件捕获:当鼠标点击或者触发dom事件时(被触发dom事件的这个元素被叫作事件源),浏览器会从根节点 =>事件源(由外到内)进行事件传播。

事件冒泡:事件源=>根节点(由内到外)进行事件传播。

4、列出三条以上的FF和IE的脚本兼容问题

1、函数和方法差异;2、样式访问和设置;3、DOM方法及对象引用;4、事件处理;

你可能感兴趣的:(call、apply、bind的区别)