zoukankan      html  css  js  c++  java
  • javascript之函数作用域

    function中的魔鬼this,我们来说说。

      function demo(){

        conlose.log(this);

      }

    当我们调用demo()的时候,这里面的this指的是window这个对象。[如果是严格模式下this是undefined]

    有些时候对象a有某个方法[比如是say],而对象b没有这个方法,但是我就想借用一下[不要在b上添加这个方法]

      var a = {

        name:'a',

        say:function(){

          conlose.log(this.name);

        }

      };

      var b = {

        name:'a'

      }

      我们可以这样使用 a.say.bind(b)();或a.say.call(b);或a.say.apply(b);

      这里的this就是作用域,bing只是改变作用域,参数传递跟原方法一样。call和apply调用方法时,第一个参数$this是作用域this,

      call传参数是 $this,a1,a2,a3....

      apply传参数是 $this,[a1,a2,a3....]

      

      

  • 相关阅读:
    XML导入数据库
    文件流 +Excel导出
    LINQ
    Lambda
    多线程编程
    反射
    匿名类
    匿名类
    委托与事件
    ubuntu开放指定端口
  • 原文地址:https://www.cnblogs.com/ehuanrum/p/6626516.html
Copyright © 2011-2022 走看看