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全局作用域,函数作用(局部作用域),块级作用域,动态作用域以及作用域链
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。