必威体育Betway必威体育官网
当前位置:首页 > IT技术

bind()

时间:2019-09-29 00:45:30来源:IT技术作者:seo实验室小编阅读:56次「手机版」
 

bind

bind;

        在创建函数的时候,定义好函数的this指向,然后函数的this指向不因任何外部环境而改变;

         函数的this指向 , 函数的调用者;

         var obj = {
              name:"obj",
              a : function(){
                    console.log(this);
              }
        }
        
        obj.a(); //this => obj;

        var fn = obj.a;
         fn();   // this => window;

       同一个函数因为调用者的不同,this的指向是会发生改变的;
        this 谨慎使用;


        bind => 让函数的this 不会发生改变; 变成固定值;

        *** bind 只能用在匿名函数上!!
         var fn = function (){
               console.log(this);
         }.bind({});

       fn();

         var obj = {
               a : function(){
                     console.log(this);
               }.bind({a:1})
         }

       
         obj.a();// this => obj;
         var fn = obj.a;
         fn();  // this => window;
         bind根据前面的函数创建了一个新函数返回出来;这时候我们赋值给 fn 的函数是bind创建的新函数;



         var obj = {
              fn : function(){ 
                     // fn1 ;
                     return function(){
                           // fn2;
                     }
               }
         }

         var a = obj.fn();

         相当于给a赋值了 obj 中 fn 函数的返回值;
        
         bind 还可以定义参数;

         var fn = function(a,b,c){
               console.log(a,b,c)
         }.bind({},1,2,3)
         fn(456,1234563,123456);

         bind定义的值,其余任何方法方式都没办法改变

相关阅读

小技巧:apache启动错误 AH00072: make_sock: could not

在windows下准备准备开启apache,发现端口被占用,看了host.conf里面配置的listen端口是80,但是提示是443,奇怪了,查了下资料,原来443是ap

bind9 学习记录

1.dns 转发和递归查询 转发只是说在本地没有查询记录的前提下,是否将查询请求转给下一个dns服务器,决定了查询的下一跳地址。

js中自己实现bind函数的方式

前言 最近由于工作比较忙,好久都没时间静下心来研究一些东西了。今天在研究 call 和 apply 的区别的时候,看到 github 上面的一篇

Android 绑定服务 bindService

绑定服务是客户端--服务器接口中的服务器。组件(如activity)和服务进行绑定后,可以发送请求、接收响应、执行进程间通信(IPC)。不会无

js事件绑定的几种方式与on()、bind()的区别

一直不是很理解几种js事件绑定之间的区别与联系,今天百度了一下,在此做一总结:1.如果只是简单的绑定一个事件,可以直接写在行内,点击执

分享到:

栏目导航

推荐阅读

热门阅读