zoukankan      html  css  js  c++  java
  • js 中bind

    function fn(a){
                this.innerHTML = a;
                console.log(this);
            }
            //fn("hello");
            span1.onclick =function(){
                console.log(this);
                 fn.bind(div1)("hello world!"); // 这里我们得到的this 指向span1
            }
            div1.onclick =function(){
                console.log(this);  //这里我们得到this指向window;
                 fn();
            }   

    OK! 我们在对点击span1的fn()时,可以看到 此时span1下的函数this发生了改变;而我们在点击div1中点击时,可以看到我们的div1下的this指向window。也就是说原函数并没有改变。在经过我们测试之后我们得出 bind()方法其实 就是让我们在堆内存中新copy了一份; 而不是仅仅只是在栈内存中copy了一个地址;其中2个函数是相互不影响的。

    给自己加油!!!

  • 相关阅读:
    爬虫学习
    微软命令行安装第三方库
    Python复习(拾遗)3
    Python拾遗2
    Python复习(拾遗)
    python练习 自动绘图
    多分支结构
    turtle
    Python练习
    随便写点…
  • 原文地址:https://www.cnblogs.com/l8l8/p/8707724.html
Copyright © 2011-2022 走看看