zoukankan      html  css  js  c++  java
  • js中ES6新增的变量的定义

    一、ES6新增的变量的定义
    let const 关键词定义变量
    1、let定义变量:
    特点:
      A、不会进行预解析,结果会报错
      B、与forEach()中的变量类似,每次执行都会定义一个互相之间不影响的新变量
      C、不能重复定义变量名称,一个变量名称只能定义一次
      D、定义的变量如果在{}中,则只能在{}中被执行调用,其他位置都不可以。所以在不同{}中,定义的变量名称是可以重复之用的
      E、在循环中最好只用let定义
    2、const定义变量:
    特点:
      A、在js中,const定义的变量成为常量,不能被重复赋值,数据已经定义,不能修改
      B、const也是定义在{}中,不能在{}外调用
      C、const定义的是对象、数组、函数、引用数据类型。其中只要引用数据类型的地址没变化,就可以改变引用数据类型中的单元存储的数据
      D、const可以预解析,结果为undefined

    3、内外部调用演示示例:

    //每次循环都是独立的,互不影响i变量存储对应的数值
    var oLis = document.querySelectorAll('li');
    for(let i = 0; i <= oLis.length - 1; i++){
        oLis[i].onclick = function(){
        //在内部调用是没有问题的
        console.log(i+1)
        }
    }
    //如果在外面调用let定义的变量,则会报错
    console.log(i)

    4、分别使用var、let、const重复赋值做对比

      A、使用var声明变量

    //使用var声明变量
    var int1 = 100;
    var int1 = 200;
    //结果为200,重复复置会覆盖之前的
    console.log(int1);

      B、使用let声明变量

    //使用let声明变量
    let int2 = 300;
    let int2 = 400;
    //因为同一个变量,两次用let声明,所以会报错
    console.log(int2);

      C、使用const声明变量

    //使用const声明变量
    const int3 = 500;
    const int3 = 600;
    //因为同一个变量,两次用const声明,所以会报错
    console.log(int3);

    5、特殊用法:
    A、let虽然不能在{}外面调用,但可以在直接调用函数

    function fun2(){
        let str = '上海';
        return str;
    }
    //调用函数,即可输出结果为‘上海’
    console.log(fun2());

    B、const虽然一旦赋值,就不能改变。但可以修改数组、对象中存储的数据

    //修改数组数据,但不修改数组
    const arr = [1,2,3,4,5];
    arr[0] = '北京'
    //输出[北京,2,3,4,5];
    console.log(arr);
    //修改对象数据,但不修改对象
    const obj = {name:'张三'};
    obj.name = '李四'//输出{name:李四}
    console.log(obj)

    二、箭头函数:函数的另外一种写法
    1、普通函数:

    fun1 = function(){
        函数
    }

    2、箭头函数:

    fun2 = ()=>{}

    3、特点
      A、与普通函数执行效果完全相同
      B、将函数主题function()换成了()=>
      C、如果只有一个参数,可以不写(),例如:e=>{console.log(e);}
      D、如果只有一行代码,可以不写{},例如:e=>console.log(e)

    A True Master Is An Eternal Student(真正的大师总是怀着一颗学徒的心) ------(Master Yi)
  • 相关阅读:
    又是七月的尾巴
    在Macbook Air上安装Archlinux
    又是一年毕业季
    orgpage a static site generator for emacs and org mode
    看完了《三体》三部曲
    暴强的命令行git提交历史记录查询
    xaml的window的AllowsTransparency属性在winxp下好像有bug,不知还有谁遇到过
    Swift 计算字符串展示的区域
    SwiftUI Stack中的View被压缩的效果
    如果git pull拉取分支出错,如何返回
  • 原文地址:https://www.cnblogs.com/karl-kidd/p/12670262.html
Copyright © 2011-2022 走看看