zoukankan      html  css  js  c++  java
  • 你不知道的JS系列 ( 19 ) - this 调用位置

    我们排除了一些对于 this 对错误理解并且明白了每个函数的 this 是在调用时被绑定的,完全取决于函数的调用位置。寻找调用位置就是寻找“函数被调用的位置”,但是做起来并没有这么简单,因为某些编程模式可能会隐藏真正的调用位置
     
    最重要的是要分析调用栈,就是为了到达当前执行位置所调用的所有函数
    function baz(){ // 调用位置是全局作用域,调用栈 baz
      console.log('baz');
      bar(); // bar 的调用位置
    }
    function bar(){ // 调用位置在 baz 中,调用栈 baz -> bar
      console.log('bar');
      foo(); // foo 的调用位置
    }
    function foo(){ // 调用位置在 bar 中,调用栈 baz -> bar -> foo
      console.log('foo');
    }
    baz(); // baz 的调用位置

    可以把调用栈想象成一个函数调用链,但是这种方法非常麻烦并且容易出错。另一个查看调用栈的方法是使用浏览器的调试工具。Sources 里面的 Call Stack;使用开发工具得到调用栈,然后找到栈中的第二个元素,就是真正的调用位置。

  • 相关阅读:
    EasyUi中使用自定义图标
    EasyUi初始配置
    struts2文件上传
    转换器
    Oracle 视图
    存储过程的优缺点
    Oracle 序列详解
    plsql使用技巧
    MYSQL和ORACLE的一些区别
    JAVA操作Excle之Poi(二)批量导出Excle数据
  • 原文地址:https://www.cnblogs.com/wzndkj/p/12407210.html
Copyright © 2011-2022 走看看