首页 > 编程语言 > 详细

【进阶3-1期】JavaScript深入之史上最全--5种this绑定全面解析(转)

时间:2018-12-07 17:52:58      阅读:162      评论:0      收藏:0      [点我收藏+]

这是我在公众号(高级前端进阶)看到的文章,现在做笔记   https://github.com/yygmind/blog/issues/20

this的绑定规则总共有下面5种。

  • 1、默认绑定(严格/非严格模式)
  • 2、隐式绑定
  • 3、显式绑定
  • 4、new绑定
  • 5、箭头函数绑定

现在开始一个一个介绍,内容来自《你不知道的JS》笔记整理。

1 调用位置

调用位置就是函数在代码中被调用的位置(而不是声明的位置)。

查找方法:

 (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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!