当前位置: 首页 > news >正文

尚硅谷ES6李强笔记

1.课程介绍

1.es是什么

在这里插入图片描述

2.新特性的优点

在这里插入图片描述

3.学习课程必备知识背景

在这里插入图片描述

2.相关名词介绍

在这里插入图片描述
在这里插入图片描述

3. let变量声明以及声明特性

3.1变量声明方式

//普通声明
let a;

//一次性声明多个变量
let a,b,c;

//声明并且初始化
let a = 100;

//一次性声明多个并且初始化
let a=2,b=1,c='i love you';

3.2不允许重复声明

//使用 var 进行声明时下述代码不会报错
var a = 1;
var a = 2;

//使用 let 进行声明时下述代码会报错
let a = 3;
let a = [];

3.3块级作用域

块的范围一般包括 if else while for 等

//es6中变量作用域的范围,除了全局作用域/函数作用域/eval作用域,还有块级作用域
{
	var a = 6;
	let b =7
}
//a可以正常打印
console.log(a)
//b会报错is not defined
console.log(b)

3.4不存在变量提升

//a会输出undefined,因为对变量的声明自动提升了
console.log(a);

//b会报错 cannot access before initialization,因为不能提升
console.log(b);

var a = 2;
let b = 3;

3.5不影响作用域链

let a = 2;
function fn(){
	return a;
}
//可以通过作用域链获取到a并返回
console.log(fn());

4.let块级作用域经典案例实践

例如,现在想给每一个div设置背景颜色为粉色

<!DOCTYPE html>
<html lang="en">
<style>
    .test{
        border: 1px solid;
        height: 50px;
        width: 20px;
    }
</style>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="test"></div>
    <div class="test"></div>
    <div class="test"></div>
</body>
<script>
    var items = document.getElementsByClassName("test");
	
	//当下面通过var进行声明的时候,功能无法正常起作用,而let可以
	//是因为在绑定点击事件之后,i已经是3,而实际点击时候没有下标为3的元素
	//而let块级作用域结束后,再次点击时会从0开始,即可获取正确下标
    for(var i=0;i<items.length;i++){
        items[i].onclick = function () {
            items[i].style.background = 'pink';
        }
    }

    
</script>
</html>

5.const声明常量

5.1声明常量的格式,一般变量名称采用大写

	const A = 1;

5.2必须赋初始值

	//必须赋初始值,下面这种情况会报错
	const A;

5.3常量的值不能修改

	//常量的值不能修改,下面的赋值语句会报错
	const A = 1;
	A = 2;

5.4常量也是块级作用域

	{
		const A = 1;
	}
	//会报错
	console.log(A)

5.5对数组或者对象里面的内容进行修改,不算对它的值进行操作,可以成功

	const A = [1,2,3]
	A.push(4)
	console.log('[ A ] >', A)

在这里插入图片描述

6.变量的解构赋值

6.1变量的解构赋值

	let arr = [1,2,3]
	let [a,b,c] = arr
	console.log('[ a ] >', a)
	console.log('[ b ] >', b)
	console.log('[ c ] >', c)

在这里插入图片描述

6.2对象的解构赋值

let student = {
    name : 'ljk',
    age : 10,
    whatHeSay : 'i love sy'
}


let{name,age,whatHeSay} = student

console.log('[ name ] >', name)
console.log('[ age ] >', age)
console.log('[ whatHeSay ] >', whatHeSay)

在这里插入图片描述

7.模板字符串

7.1通过反引号来声明字符串类型变量

	let a = `sdfsdfs`;
	console.log('[ a ] >', a)
	console.log('[ typeOfa ] >', typeof a)

在这里插入图片描述

7.2不用通过拼接来换行

let a = `<ul>
            <li>a</li>
            <li>a</li>
            <li>a</li>
            <li>a</li>
            <li>a</li>
        </ul>`;
console.log('[ a ] >', a)

在这里插入图片描述

7.3通过${}进行变量的拼接

let a = `123`
let b = `${a}456`
console.log('[ b ] >', b)

在这里插入图片描述

8.对象的简化写法

8.1对于变量以及方法,均可以简写

var name = "a"
var age = 10

//这是之前的写法
// let student = {
//     name:name,
//     age:age,
//     speech:function(){
//         return this.age
//     }
// }

let student = {
    name,
    age,
    speech(){
        return this.age
    }
}
console.log('[ student ] >', student)
console.log('[ student.speech ] >', student.speech())


相关文章:

  • js导入wordpress/惠州seo按天计费
  • 网站主题定位/域名流量查询工具
  • 网站设计要点/西安关键词优化软件
  • wordpress扫光/免费b站推广网站下载
  • 河南app外包/优化师助理
  • 衡水网站建设公司/产品推广软文范文
  • 数据大佬的成长经验分享 | ​我的非典型数据分析之路
  • 使用动态输出打印内核的DEBUG信息
  • Vue3商店后台管理系统设计文稿篇(五)
  • 一次非典型的Netty内存泄露案例复盘
  • 测试开发——测试分类
  • 源码看CAF的线程调度框架
  • deap遗传算法 tirads代码解读
  • Himall商城ExpressDaDaHelper 取消订单(线上环境)
  • 【Linux系统】第四篇:Linux中编辑器vim的使用
  • 【深入浅出XML】包装纯粹信息的标记语言
  • Spring MVC+Spring+Mybatis实现支付宝支付功能
  • 4、数据类型