码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript全局作用域,函数作用(局部作用域),块级作用域,动态作用域,作用域链

时间:2020-05-23 18:05:41      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:cti   没有   bcd   function   全局   OLE   abc   rip   动态   

var abc = ‘123‘; // 全局变量 具有全局作用域
c = ‘222‘; // 实际上 是 window.c = ‘222‘ 的简写。
function test() {
    var abcd = 1234; // 函数作用域
    if(abcd > 1) {
        let a = 2; // 块级作用域 let 和 const 定义的变量才具有块级作用域。
        var b = 3; // 属于函数作用域
    }
    console.log(this.c)
    console.log(abc); // 123 js会先在当前作用域找是否有abc这个变量,如果没有就会往上面一层找。这就是作用域链。
    console.log(b); // 3
    console.log(a); // undefind
}

test() // 此时console.log(this.c)输出为222
test.bind({c: 200})() // 此时console.log(this.c)输出的是200, 所以this的作用域为动态作用域

  

JavaScript全局作用域,函数作用(局部作用域),块级作用域,动态作用域,作用域链

标签:cti   没有   bcd   function   全局   OLE   abc   rip   动态   

原文地址:https://www.cnblogs.com/boye-1990/p/12943463.html

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