码迷,mamicode.com
首页 > 移动开发 > 详细

JavaScript中call和apply方法

时间:2017-08-25 12:34:10      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:this   javascrip   函数   test   过程   一个   java   nbsp   div   

 

 1 /*
 2     在js中 call和apply常用于绑定作用域
 3 */
 4 //1 简单的绑定
 5 function sum(a,b){
 6     return a+b;
 7 }
 8 //将sum的功能绑定给test2来执行
 9 function test2(a,b){
10     return sum.call(this,a,b);
11 }            
12 // call 和apply的区别是 apply接收数组作为参数
13 function test3(a,b){
14     return sum.apply(this,[a,b]);
15 }
16 
17 
18 
19 //2 临时绑定调用者 解耦
20  var obj = {
21      color:"red",
22      name:"z3"
23  };
24  
25  function showInfo(){
26      alert(this.color);
27      alert(this.name);
28  }
29  //在js中 this指定是调用者。哪个对象调用函数this就是哪个对象
30  //如果我们想用showInfo去操作obj,那就要用obj去调用这个对象
31  //用call绑定obj给函数 就可以实现,可以减少函数和对象的耦合
32  showInfo.call(obj); //好像是用obj去调用这个方法,提高了showInfo函数的重用性
33 
34  /*
35      内部实际上是:
36      1 将obj绑定一个函数method = shouwInfo
37      2 用obj去执行method()
38      3 删除method 
39      这样一个过程
40  */

 

JavaScript中call和apply方法

标签:this   javascrip   函数   test   过程   一个   java   nbsp   div   

原文地址:http://www.cnblogs.com/Lin-Yi/p/7427118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!