码迷,mamicode.com
首页 > Web开发 > 详细

你不知道的JS系列 ( 19 ) - this 调用位置

时间:2020-03-04 09:40:18      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:调用   function   调试   没有   编程   func   模式   全局   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;使用开发工具得到调用栈,然后找到栈中的第二个元素,就是真正的调用位置。

 

 

你不知道的JS系列 ( 19 ) - this 调用位置

标签:调用   function   调试   没有   编程   func   模式   全局   this   

原文地址:https://www.cnblogs.com/wzndkj/p/12407210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!