【前言】
本文简单说下JS块级作用域相关概念
【主体】
在ES6之前,我们都是用var来声明变量,而且JS只有函数作用域和全局作用域,没有块级作用域,所以{}限定不了var声明变量的访问范围。
例如:
{ var i = 9; } console.log(i); // 9
ES6新增的let,可以声明块级作用域的变量。
{ let i = 9; // i变量只在 花括号内有效!!! } console.log(i); // Uncaught ReferenceError: i is not defined
案例demo:
{ var x = 0; const y = 1; let z = 2; } console.log(x);//0 console.log(y);//报错 console.log(z);//报错
.
相关推荐
JavaScript应用实例-js块级作用域.js
关于ES6中let 和 const 命令的用法以及注意事项:中的报错的样式ES6 引入了块级作用域,明确允许在块级作用域之中声明函数。ES6 规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。
作用域永远都是任何一门编程语言中的重中之重,因为它控制着变量与参数的...大多数类C语言都拥有块级作用域,JS却没有。请看下文demo: //C语言 #include void main() { int i=2; i--; if(i) { int j=3; } printf("%d/
b、JavaScript没有块级作用域。 c、函数中声明的变量在整个函数中都有定义。 javascript的变量作用域,与平时使用的类C语言不同,例如C#中的代码: static void Main(string[] args) { if(true) { int number=...
本文实例讲述了JavaScript使用闭包模仿块级作用域操作。分享给大家供大家参考,具体如下: 在阅读这篇文章之前,建议先阅读JavaScript的作用域链以及JavaScript闭包。 正如闭包的定义一样:“闭包指的是有权访问另一...
04-块级作用域
本文实例讲述了JS块级作用域和私有变量。分享给大家供大家参考,具体如下: 块级作用域 (function(){ //这里是块级作用域 })() 例如: (function(){ for(var i=0;i<5;i++){ alert(i);//0,1,2,3,4 ...
JavaScript 中没有块级作用域 可能会对这个问题大家可能有点不理解,先看个例子 var a = [] for(var i = 0; i < 10; i++){ a[i] = function(){ console.log(i); } } a[6](); 我想很多人会觉得这个问题的结果...
js代码-es5块级作用域实现
本文实例讲述了ES6使用let命令更简单的实现块级作用域。分享给大家供大家参考,具体如下: let 带来了更简单的块级作用域 1. ES6新增了let命令,用于声明变量。其与var的不同在于,用let声明的变量只在 { } 内有效。...
js代码-闭包原理实例 ES5 只要函数作用域,无块级作用域
本篇文章主要介绍了深入理解ES6学习笔记之块级作用域绑定,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要介绍了ECMAScript6块级作用域及新变量声明(let) 的相关资料,需要的朋友可以参考下
本文详细的介绍了JavaScript中的块级作用域、私有变量与模块模式,废话就不多说了,具体如下: 1.块级作用域(私有作用域),经常在全局作用域中被用在函数外部,从而限制向全局作用域中添加过多的变量和函数。 ...