这是我在公众号(高级前端进阶)看到的文章,现在做笔记 https://github.com/yygmind/blog/issues/20
this
的绑定规则总共有下面5种。
现在开始一个一个介绍,内容来自《你不知道的JS》笔记整理。
调用位置就是函数在代码中被调用的位置(而不是声明的位置)。
查找方法:
(1)、分析调用栈:调用位置就是当前正在执行的函数的前一个调用中
function baz() { // 当前调用栈是:baz // 因此,当前调用位置是全局作用域 console.log( "baz" ); bar(); // <-- bar的调用位置 } function bar() { // 当前调用栈是:baz --> bar // 因此,当前调用位置在baz中 console.log( "bar" ); foo(); // <-- foo的调用位置 } function foo() { // 当前调用栈是:baz --> bar --> foo // 因此,当前调用位置在bar中 console.log( "foo" ); } baz(); // <-- baz的调用位置
(2)、使用开发者工具得到调用栈:
设置断点或者插入debugger;
语句,运行时调试器会在那个位置暂停,同时展示当前位置的函数调用列表,这就是调用栈。找到栈中的第二个元素,这就是真正的调用位置。
参考地址:https://www.cnblogs.com/lsgxeva/p/7976111.html
【进阶3-1期】JavaScript深入之史上最全--5种this绑定全面解析(转)
原文:https://www.cnblogs.com/zhaobao1830/p/10084057.html