当前位置: 移动技术网 > IT编程>开发语言>JavaScript > apply,call和bind的用法区别

apply,call和bind的用法区别

2019年04月14日  | 移动技术网IT编程  | 我要评论
apply-call-bind用法 ...
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>apply-call-bind用法</title>
</head>
<body>
  <script>
    // apply b.apply(a, arguments);即a对象应用b对象的方法 this指向a
    // call b.call(a, args1,args2);即a对象调用b对象的方法 this指向a
    // apply和call的功能是一样的,只是传入的参数列表形式不同 
    // bind 最简单的用法是创建一个函数,使这个函数不论怎么调用都有同样的this值
    this.num = 9;
    var mymodule = {
      num: 81,
      getnum: function () { return this.num; }
    };

    console.log()
    mymodule.getnum(); // 81 this指向 mymodule

    var getnum = mymodule.getnum;
    getnum(); // 9, 因为在这个例子中,"this"指向全局对象

    // 创建一个'this'绑定到module的函数
    var boundgetnum = getnum.bind(mymodule); // this指向mymodule
    boundgetnum(); // 81
  </script>
</body>
</html>

 

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网