👉👉👉 欢迎来访船长在船上的博客,如有疑问可以留言、评论,看到后会及时回复。

目录
区别:
function.apply(obj,argArray)//argArray为数组
function.call(obj,arg1,arg2,arg3…)//后面的参数为列表项
apply()和call()不传参数时候功能是相同的,但是它们接受的参数不同,apply的第二个参数只能接受一个数组,并且apply()只能是二个参数,而call()的第二个参数起接受的多个参数列表项,参数是可以多个。
- Function.prototype.bind=function(obj,arg){
- var arg=Array.prototype.slice.call(arguments,1);
- var context=this;
- return function(newArg){
- arg=arg.concat(Array.prototype.slice.call(newArg));
- return context.apply(obj,arg);
- }
- }
- Function.prototype.bind=function(obj,arg){
- var arg=Array.prototype.slice.call(arguments,1);
- var context=this; var bound=function(newArg){
- arg=arg.concat(Array.prototype.slice.call(newArg));
- return context.apply(obj,arg);
- }
-
- var F=function(){}
- //这里需要一个寄生组合继承
- F.prototype=context.prototype;
- bound.prototype=new F();
- return bound;
- }
文章推荐:
🔔 感谢:如果觉得博主的文章不错或者对你的工作有帮助或者解决了你的问题,可以关注、支持一下博主,如果三连收藏支持就会更好,在这里博主不胜感激!!!如有疑问可以留言、评论,看到后会及时回复。