加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

apply,call和bind的用法区别

发布时间:2020-12-14 04:33:51 所属栏目:大数据 来源:网络整理
导读:! 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 // a
<!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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读