重学ES系列之变量的作用范围

简介: 重学ES系列之变量的作用范围
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>变量的作用范围</title>
</head>
<body>
</body>
<script>
    // var与let
    /*
    var v1 = '1';
    console.log(v1); // 1
    v2 = '2';
    console.log(v2);
    console.log(v3);
    var v3 = 'v3';
    var v4 = 'v4';
    var v4 = 'v41';
    console.log(v4);
    for (var index = 0; index < 5; index++) {
        console.log(index);
    }
    console.log(index);
    */
    // ***
    /*
    let a1 = 'a1';
    console.log(a1);
    a2= 'a2';
    console.log(a2);
    console.log(a3);
    let a3 = 'a3';
    let a4 = 'a4';
    let a4 = 'a41';
    console.log(a4);
    for (let index = 0; index < 5; index++) {
        console.log(index);
    }
    console.log(index);
 */
  /*
   function fun(p) {
       var p = '1';
       console.log(p);
   }
   fun('0');
   */
   /*
   function fun1 (m) {
       let m = '1';
       console.log('m');
   }
   fun1('0');
   */
   /*
   function fun2(p) {
       {
        let f = '1';
        console.log(f);
       }
   }
   fun2('0');
   */
    /*
    1. let 不允许重复声明
    2. let 创建局部变量(块级)
    3. 同一个块中,不允许重复的变量声明
    */
</script>
</html>
相关文章
|
8月前
|
自然语言处理 JavaScript 网络架构
js开发:请解释什么是ES6的箭头函数,以及它与传统函数的区别。
ES6的箭头函数以`=&gt;`定义,简化了函数写法,具有简洁语法和词法作用域的`this`。它无`arguments`对象,不能用作构造函数,不支持`Generator`,且不改变`this`、`super`、`new.target`绑定。适用于简短表达式,常用于异步编程和高阶函数。
50 5
|
5月前
|
JavaScript 编译器
typescript 解决变量多类型访问属性报错--工作随记
typescript 解决变量多类型访问属性报错--工作随记
|
7月前
|
前端开发 JavaScript 程序员
探索JavaScript宝库:打开基础知识与实用技能之门(数据类型与变量+ 条件与循环+函数与模块+DOM+异常+ES6)
探索JavaScript宝库:打开基础知识与实用技能之门(数据类型与变量+ 条件与循环+函数与模块+DOM+异常+ES6)
48 0
|
8月前
|
JavaScript 前端开发
js开发:请解释什么是ES6的解构赋值(destructuring assignment),并给出一个示例。
ES6的解构赋值简化了JavaScript中从数组和对象提取数据的过程。例如,`[a, b, c] = [1, 2, 3]`将数组元素赋值给变量,`{name, age} = {name: &#39;张三&#39;, age: 18}`则将对象属性赋值给对应变量,提高了代码的可读性和效率。
43 3
|
8月前
|
JavaScript
js开发:请解释什么是ES6的Symbol,以及它的用途。
ES6的Symbol数据类型创建唯一值,常用于对象属性键(防冲突)和私有属性。示例展示了如何创建及使用Symbol:即使描述相同,两个Symbol也不等;作为对象属性如`obj[symbol1] = &#39;value1&#39;`;也可作枚举值,如`Color.RED = Symbol(&#39;red&#39;)`。
63 4
|
8月前
|
JavaScript 前端开发 开发者
js开发:请解释什么是ES6的let和const关键字,以及它们与var关键字的区别。
ES6引入`let`和`const`替代`var`声明变量。`let`有块级作用域,存在暂时性死区,不进行变量提升,可重新赋值。`const`用于常量,值不可变但引用类型内容可变,同样有块级作用域和暂时性死区。与`var`主要区别在于作用域、变量提升和可变性。这些改进提高了代码的可预测性和安全性。
64 2
|
8月前
|
JavaScript 前端开发
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停/恢复功能的特殊函数,利用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。例如,一个简单的Generator函数可以这样表示: ```javascript function* generator() { yield &#39;Hello&#39;; yield &#39;World&#39;; } ``` 创建实例后,通过`.next()`逐次输出&quot;Hello&quot;和&quot;World&quot;,展示其暂停和恢复的特性。
53 0
|
8月前
|
JavaScript 前端开发 网络架构
JavaScript开发中ES6+新特性:解释箭头函数的作用以及它与普通函数的区别。
JavaScript开发中ES6+新特性:解释箭头函数的作用以及它与普通函数的区别。
84 1
|
前端开发
前端学习笔记202306学习笔记第三十八天-Es6-使用let声明变量得特点1
前端学习笔记202306学习笔记第三十八天-Es6-使用let声明变量得特点1
64 0
|
前端开发
前端学习案例4:ES6中的修饰器4
前端学习案例4:ES6中的修饰器4
73 0
前端学习案例4:ES6中的修饰器4