当前位置:网站首页>day36 js笔记 ECMA6语法 2021.10.09
day36 js笔记 ECMA6语法 2021.10.09
2022-06-28 11:20:00 【即将成为大佬的小梦】
ES6中新增声明变量的关键字:let、const
let的使用:
- 不可以重复定义,可以重新赋值
- 不能进行预解析、变量提升
- 块级作用域
- 不在window上
const创建变量的使用:
- 创建的是一个常量(不可改变的量)
- 不可以重新定义和赋值的!!!
- 不能进行预解析、变量提升
- 块级作用域
- 不在window上
同步和异步的概念:
- 同步:做完一件事情后才能去做另一件事情
- 异步:可以同时去做多件事情
永远都是同步先执行 当同步执行完毕后才会执行异步代码
- 同步代码: js代码
- 异步代码: js代码中一些特殊情况 延时器、定时器
箭头函数:为了简写之前学习的函数(只有匿名函数才可以写成箭头函数)
函数的创建方式
- 声明式 function fn(){}
- 赋值式 var fn = function(参数){执行的代码} 匿名函数
箭头函数的写法:
- var fn = (参数) => {执行的代码}

有多个参数时:

参数只有一个时:(小括号可省略)

拓展:再简写 大括号也可以删了:大括号内如果只有一句代码的时候 大括号和return都可以删除
箭头函数的特点:不支持arguments,不绑定this,没有自己的this 使用外部的this。
何时用箭头函数:
// 1、不涉及this绑定时,如果在函数中 需要明确的this绑定 则不能或者不推荐用箭头函数,例如 事件函数不要用箭头函数、
// 2、回调函数 由第三方调用 一般没有明确this(window), 可以箭头函数,例如 很多高阶方法(forEach、map、find等)
函数的自执行(自执行函数、立即调用):任何在执行的时候都会创建一个执行上下文(语境),因为函数声明的变量只能在函数的内部使用 这时候上下文在调用函数的时候 就可以给我们创建自由或者私有变量进行使用
执行上下文的解释(js代码执行的环境):
- 全局执行上下文:浏览器创建 window
- 函数执行上下文:谁调用我 我就指向谁 - 调用栈
- eval执行上下文:js不推荐使用 不做讨论
自执行函数的用法:
- 只有匿名函数才能使用自执行方式
自执行如何去写:
- 匿名函数 var fn = function(){}
- 自执行就表示打开浏览器的时候直接调用函数
注意:
- 写自执行函数的时候 要把函数体用一个小括号包起来 函数表达式

- 函数自执行为什么要用?

解构赋值:快速的将对象中的每个值拿到然后再赋值给一个变量
- var/let/const {变量名称1,变量名称2,...} = 对象名称
注意:
- 变量名称要和对象中的键名字一样
- 给变量名取别名 var/let/const {变量名称1:别名1,变量名称2:别名2,...} = 对象名称

解构赋值-数组
- var [变量名称1,变量名称2,...] = 数组名称

模板字符串:` ` (反引号)
关于模板字符串的好处:
- 方便好用 可以在当前的反引号随意书写
- 重点: 可以不再用字符串拼接获取到你的数据 可以使用一个方法解析变量 ${变量名称}

对象的简写:

字符串新增的方法:
字符串.startsWith(字符) // 判断字符串是否由某个字符开头
字符串.endsWith(字符) // 判断字符串是否由某个字符结尾
字符串.includes(字符) // 判断字符串是否包含某个字符
展开/合并运算符: ...
- 将数组展开显示 ...数组名字

合并运算符:

this的指向问题:
- 在普通函数中指向 window
- 在事件函数中指向 事件源
- 在定时器中指向是 widnow
- 在自执行函数中指向 window

箭头函数中是没有this指向的 往上级查找


改变this指向的方法一:call方法
- 函数.call(想要改变的指向 - 指向谁写谁)
- 如果需要传参的时候 在参数1后面书写其他参数即可

改变this指向的方法二:apply方法
- 函数.apply(想要改变的指向 - 指向谁写谁)
- 如果需要传参的时候 在参数1后面书写其他参数即可

改变this指向的方法三:bind方法
- 函数.bind(想要改变的指向 - 指向谁写谁)
- 如果需要传参的时候 在参数1后面书写其他参数即可
- bind方法相当于把当前的函数复制了一份 需要用一个新的变量进行接收

伪数组:
- 伪对象(伪元素):假的标签结构 虚拟的dom结构
- 伪类:hover 改变元素状态
伪数组:真实开发中基本不用 但是面试会经常文伪数组是什么 和数组之间的区别是什么
- 伪数组看起是数组 但是本质不是数组 本质是对象
- 伪数组最常表现的形式是获取dom结构 don结构的集合就是最常见的伪数组
参考答案:伪数组和真实数组的区别是什么?
- 真实数组是可以改变长度的 伪数组不可以
- 真实数组是可以使用方法的(push、pop) 伪数组不可以
- 真实数组的本质就是数组 伪数组的本质是对象

如何把伪数组转换为真实的数组呢?
![]()
边栏推荐
- 利用soapUI获取freemarker的ftl文件模板
- 100 important knowledge points that SQL must master: retrieving data
- SQL必需掌握的100个重要知识点:检索数据
- Excel导入导出便捷工具类
- JS foundation 6
- 使用ssm项目对Mysql8进行访问的时候,出现连接失败和一些错误的解决办法
- Convert the file URL in the browser to a file stream
- When an entity is converted to JSON, the field with null value is lost
- 董宇辉,新东方以及凤凰卫视
- Threads and thread pools
猜你喜欢
This Exception was thrown from a job compiled with Burst, which has limited exception support. 报错

Recommended practice sharing of Zhilian recruitment based on Nebula graph

AGCO AI frontier promotion (6.28)

网页提示此站点不安全解决方案

Summary of spatial temporal time series prediction modeling methods

阿里三面:LEFT JOIN关联表中用ON还是WHERE跟条件有什么区别

How to use output in katalon

Solve the problem of reading package listsdonebuilding dependency treereading state informationdone

无法重新声明块范围变量

Get current system date
随机推荐
使用 Calendar 计算时间
[semidrive source code analysis] [x9 chip startup process] 32 - play module analysis - RTOS side
Blue Bridge Cup Maze (dfs+ backtracking)
[practice] 1364- implement a perfect waterfall flow component on the mobile terminal (with source code)
JS foundation 5
[cloud resident co creation] detailed introduction to DWS alarm service DMS and cluster connection mode
2022 open source software security status report: over 41% of enterprises do not have enough confidence in open source security
MySQL (II)
科研丨Web of Science检索技巧
买股票在中金证券经理的开户二维码上开户安全吗?求大神赐教
《运营之光3.0》全新上市——跨越时代,自我颠覆的诚意之作!
Mongo database
It is safer for individuals to choose which securities company to open an account for buying floor funds
使用API快捷创建ECS
mysql-. SQL file phishing Online
东方财富手机股票开户哪个券商更安全更方便?
MySQL (III)
Yann Lecun's new paper: the road to building automatic agents
Dataease installation upgrade
New listing of operation light 3.0 - a sincere work of self subversion across the times!