call()、apply()、bind() 都是用来重定义 th

2018-06-25  本文已影响0人  法西斯qwq
 <script>
 let name='小王',age=17;
 let obj={
     name:'xa',
     objAge:this.age,
     myFun:function () {
         console.log(this.name +" "+this.age)
     }
 }

 var db={
     name:"德玛西亚",
     age:99,
 }
/* console.log(obj.objAge);
 console.log(obj.myFun());*/

/*  obj.myFun.call(db);   //德玛西亚99
 obj.myFun.apply(db);    //德玛西亚99
 obj.myFun.bind(db)();   //德玛西亚99
// 以上出了bind 方法后面多了个 () 外 ,结果返回都一致

  由此得出结论,bind 返回的是一个新的函数,你必须调用       它才  会被执行  */



   </script>
上一篇 下一篇

猜你喜欢

热点阅读