首页 > 移动平台 > 详细

call apply

时间:2017-04-13 08:48:41      阅读:187      评论:0      收藏:0      [点我收藏+]

1.call  方法的作用是一模一样的,都是用来改变方法的this关键字并且把方法执行:

而且在严格模式下对于第一个参数是null/undefined这种情况的规律也是一样的;

 var obj ={name:"珠峰培训"};
       function fn(num1,num2){
           console.log(num1 +num2);
           console.log(this);
       }
       //fn.call(100,200);//this是100,num1=200,num2=undefined
       fn.call(obj,100,200);

2.apply 和call一模一样,第一个参数是this后面参数变为数组

3.bind 只是改变了fn中的this为obj,并且给fn传递了两个参数值1、2,但是此时并没有把fn这个函数执行,

执行bind会有一个返回值,这个返回值res就是我们把fn的this改变后的那个结果

bind 等于把fn进行了预处理

  var obj ={name:"珠峰培训"};
       function fn(num1,num2){
           console.log(num1 +num2);
           console.log(this);
       }
       var res = fn.bind(obj,1,2);
       res(1,2);

 

call apply

原文:http://www.cnblogs.com/zzzzzzzsy/p/6702222.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!