前言
回想起之前的一些面试,几乎每次都会问到一个js中关于call、apply、bind的问题,比如…
怎么利用call、apply来求一个数组中最大或者最小值
如何利用call、apply来做继承
apply...所以其实他们干的事从本质上讲都是一样的动态的改变this上下文,但是多少还是有一些差别的..
call、apply与bind的差别
call和apply改变了函数的this上下文后便执行该函数,而bind...67,5,7,6,-8,687);Math.min.apply(Math, arr);Math.min.call(Math, 34,5,3,6,54,6,-67,5,7,6,-8,687);
将伪数组转化为数组
js...中的伪数组(例如通过document.getElementsByTagName获取的元素)具有length属性,并且可以通过0、1、2…下标来访问其中的元素,但是没有Array中的push、pop等方法...中要往数组中添加元素,可以直接用push方法,
1234567 var arr1 = [1,2,3];var arr2 = [4,5,6];[].push.apply(arr1, arr2);// arr1