前端知识学习笔记-五(ECMAScript 6)

命令行工具

在正式讲解ES6新特性之前,我们需要了解一些命令行工具,在日后的课程中,我们会经常用到命令行

常用命令行工具有两种

CMD 命令行工具
PowerShe门命令行工具

CMD命令行

打开命令行窗口
win: 左下角开始,找到运行,点击,输入cmd,回车
win: win+r 快速打开命令行窗口
mac: command+空格,输入 terminal
选择盘符:盘符名加冒号 E:
查看盘符及目录下文件与文件夹:win:dir mac:ls
清空命令行信息: wn:cls mac:clear
进入文件夹或目录: cd 件名称
返回到上一级目录:cd ./
快速补全目录或文件夹名称: tab
创建文件夹: mkdir 文件夹名称
查看历史输入过的命令:上下按键

PowerShell
打开方式

在开始位智搜索 PowerShell 打开
在对应目录按住 enin +右键,打开

ECMAScript6简介

ECMAScript 和JavaScript 的关系
ECMAScript 和JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现,常场合,这两个词是可以互换的。

名称详解 ECMAScript6(以下简称 ES6)
是JavaScript 语言的标准,在 2015 年6月发布。它的目标,是使得javaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

ES6带来的新特性

let 和 const 命令
变量的解构赋值
字符串扩展
函数扩展
对象扩展
数组扩展
运算符扩展
Promise对象
Class
Class 继承

nodejs环境安装

本节课为前置课程,在接下来的ES6课程中,我们需要先安装Nodejs环境

Nodejs简介
Nodejs诞生于2009年,主攻服务器方向,使得利用JavaScrit 也可以完成服务器代码的编写

Nodejs安装

Nodejs官网 :https://nodejs.org/en/

Nodeis的安装与一般软件一样
检查是否安装成功命令:node -v 出现版本号表示安装成功

大量的库
在安装 Nodeis 的同时,会附带一个pm 命令npm 是Node的包管理工具,这样正是接下来我们要用到的npm 的简单结构有助于 Node.js 生态系统的激增,现在 npm 仓库托管了超过 1,000,000 个可以自由使用的开源库包。
mpm 镜像
由于服务器在国外,所以下载速度比较慢,我们可以用国内的镜像

阿里镜像地址
https://npmmirror.com/

在命令行运行如下命令即可!(cnpm安装)

npm install -g cnpm --registry=https://registry.npmmirror.com

出现以下表示安装成功,也可通过命令查看是否安装成功:cnpm -v 显示版本号表示安装成功

在这里插入图片描述
若安装失败可以再次安装

let命令

ES6 新增了 let 命令,用来声明变量。它的用法类似于 var但是所声明的变量,只在 let 命令所在的代码块内有效。
作用域
var关键字:函数级别作用域
let关键字:块级作用域

<script>if(true){var i=10;}console.log(i);//结果为10if(true){let j=8;}console.log(j);//结果报错,提示为声明j</script>

对比var和let在循环中的应用

 var a=[];for(let i = 0;i < 10;i++){a[i] = function(){console.log(i);};
}
console.log(a[6]());//结果是6

结果是6

var b=[];
for(var j = 0;j < 10;j++){b[j] = function(){console.log(j);};
}
console.log(b[6]());//10

结果是10

let不存在变量提升
var 命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefned 。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用
为了纠正这种现象,let 命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

// var 的情况
console.1og(foo); // 输出undefined3 
var foo = 2;
// let 的情况
console.log(bar); // 报错ReferenceError6
let bar = 2;

let不允许重复声明

// 报错
function func(){let a = 10:var a = 1;}
// 报错
function func(){let a = 10:let a = l;}

const命令

const 声明一个只读的常量。一旦声明,常量的值就不能改变。
1.const声明之后不允许重新赋值
2.const声明必须声明时直接赋值

const PI = 3.1415:
PI // 3.14152
PI=3;
// TypeError: Assignment to constant variable.

const 声明的变量不得改变值,这意味着,const 一旦声明变量,就必须立即初始化,不能留到以后赋值。

const foo
// SyntaxError: Missing initializer in const declaration

const 的作用域与let命令相同: 只在声明所在的块级作用域内有效

if (true) {
const MAX = 5;
}
MAX // Uncaught ReferenceError: MAX is not defined

const 命令声明的常量也不能提升

if (true) {
console.1og(MAX); // ReferenceError2
const MAX = 5;
}

const 声明的常量,也与 let一样不可重复声明

var message ="Hello!"
let age = 25;
// 以下两行都会报错
const message = "Goodbye!";
const age = 30:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/620232.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LVM逻辑卷

LVM逻辑卷 一.逻辑卷简介 LVM 是 Logical Volume Manager 的简称&#xff0c;译为中文就是逻辑卷管理。它是 Linux 下对硬盘分区的一种管理机制。LVM 适合于管理大存储设备&#xff0c;并允许用户动态调整文件系统的大小。此外&#xff0c;LVM 的快照功能可以帮助我们快速备份…

GDPU 竞赛技能实践 天码行空7

1. 区间合并 输入 5 5 6 1 4 10 10 6 9 8 10输出 1 4 5 10&#x1f496; Main.java import java.util.Arrays; import java.util.Scanner;public class Main {static int N 100010;static int n;// 区间类static class Node{int l;// 区间左端点int r;// 区间右端点public …

QT:事件机制

作业&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> #include <QTime> #include<QPushButton> #include <QTextToSpeech>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAME…

【通信原理笔记】【三】——3.8 载波同步

文章目录 前言一、正弦信号二、载波同步2.1、平方环法2.2、科斯塔斯环法&#xff08;castas&#xff09;2.3 相位模糊 总结 前言 不管是幅度调制还是角度调制&#xff0c;都离不开正弦信号&#xff0c;其中相干解调都要求恢复发送端使用的正弦载波信号&#xff0c;这一节就来深…

python的Flask实战

from flask import Flask appFlask(__name__)点击Flask同时点击键盘ctrl即可查看Flask的默认初始化函数 def __init__(self,import_name: str,static_url_path: str | None None,static_folder: str | os.PathLike[str] | None "static",static_host: str | None …

第十五届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组

试题 C: 好数 时间限制 : 1.0s 内存限制: 256.0MB 本题总分&#xff1a;10 分 【问题描述】 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位 &#xff09;上 的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位 &…

大话设计模式之享元模式

享元模式是一种结构型设计模式&#xff0c;旨在有效地支持大量细粒度的对象共享&#xff0c;从而减少内存消耗和提高性能。 在享元模式中&#xff0c;对象分为两种&#xff1a;内部状态&#xff08;Intrinsic State&#xff09;和外部状态&#xff08;Extrinsic State&#xf…

录屏软件有哪些?分享4款好用的工具!

随着网络视频内容的日益丰富&#xff0c;录屏软件成为了许多用户必备的工具。无论你是需要制作教学视频、游戏直播、会议记录还是简单的视频剪辑&#xff0c;一款功能强大、操作简便的录屏软件都是不可或缺的。那么&#xff0c;市面上究竟有哪些录屏软件值得一试呢&#xff1f;…

代理模式:控制对象访问的智能方式

在面向对象的软件开发中&#xff0c;代理模式是一种结构型设计模式&#xff0c;它为其他对象提供一个代理或占位符以控制对这个对象的访问。代理模式在实现权限控制、延迟初始化和远程对象访问等方面非常有用。本文将详细介绍代理模式的定义、实现、应用场景以及优缺点&#xf…

Jackson 2.x 系列【23】注解内省 AnnotationIntrospector

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 前言2. AnnotationIntrospector3. JacksonAnnotationIntrospector4. Annotati…

基于springboot实现医疗病历互换系统项目【项目源码+论文说明】

基于springboot实现医疗病历交互系统演示 摘要 进入21世纪&#xff0c;计算机技术迅速向着网络化的、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台&#xff0c;取而代之的是支持网络、支持多种数据信息的新一代网络版应用软件&#xff0c;形成了信息化的社会。信息…

【canvas】canvas基础使用(七):绘制图像

简言 学习canvas如何绘制图片或视频。 绘制图像 给定一个图像&#xff0c;一般使用drawImage()方法绘制。 drawImage 绘制图像 Canvas 2D API 中的 CanvasRenderingContext2D.drawImage() 方法提供了多种在画布&#xff08;Canvas&#xff09;上绘制图像的方式。 语法&…