博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6语法
阅读量:7034 次
发布时间:2019-06-28

本文共 1042 字,大约阅读时间需要 3 分钟。

 一、var、const、let区别

var name = "dafa";    //在客户端name是可以修改的         const city =  "南宁";        let address = "广西南宁";

  1、 const 定义的变量,是不能重新赋值的,所以这个是使用优先级最高的语法他能极大保障数据的安全性。

  2、let 与 const 是一样的,只不过它可以重新被赋值;

  3、let 与 const 是块级作用域,var是函数级别的作用域;

 二、例子

  

for (var i = 0; i < 10; i++) {  setTimeout(function() {    console.log(i);  }, 0);}console.log("aaaa");//输出的是先输出 "aaa" 在输出10个 10//涉及到知识点/*  1、异步任务  2、闭包、词法的作用域  3、var/let区别*/

 

三、为什么先输出“aaa”,在输出10个10能

  1、js中先输出aaa 是异步编程

  2、var i = 0;这一步只执行一次,那么10个10怎么输出来的,是因为执行10次的function函数,最后输出的是10次function函数的次数。

 

四、要怎么才能输出0-9呢?以下有两种方式:

  第一种:

for (var i = 0; i < 10; i++) {            (function() {                //手动的重新赋值                var j = i;                setTimeout(function() {                    console.log(j);                }, 0);            })();        }         console.log("aaa");

  第二种:

  for (let i = 0; i < 10; i++) {   //let取值每次循环都被刷新,var不会被刷新

    setTimeout(function() {
      console.log(i);
    }, 0);
  }
  console.log("aaaa");

 

 

转载于:https://www.cnblogs.com/YouAreABug/p/10006183.html

你可能感兴趣的文章
ThinkPHP去除url中的index.php
查看>>
6\MySQL 主从同步 、 MySQL 读写分离 、 MySQL 性能调优
查看>>
Java之品优购课程讲义_day18(2)
查看>>
直播助力广电媒体融合发展
查看>>
using $sp.getForm to get all fields in a form
查看>>
PCB设计时,怎样控制线宽与电流的关系
查看>>
samba服务器
查看>>
面试前必须要知道的Redis面试题
查看>>
消息队列之kafka(基础介绍)
查看>>
老中医化妆品是品牌吗
查看>>
阿里云云数据库RDS核心能力演进
查看>>
学位论文发表价格
查看>>
Oracle Database 9i/10g/11g编程艺术
查看>>
python: delete the duplicates in a list
查看>>
mongodb系列~ mongodb索引详解
查看>>
C/C++ —语言判断数字或字符的函数总结
查看>>
hadoop 安装前须知
查看>>
最长公共子串与最长公共子序列
查看>>
SVM多分类
查看>>
Python--matplotlib绘图可视化知识点整理
查看>>