2023/1/30 星期一
https://blog.csdn.net/Augenstern_QXL/article/details/119249534
短路运算(逻辑中断)
短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值
- 逻辑与 &&
- 逻辑或 ||
赋值运算符
流程控制
顺序结构
分支结构
- if语句
- if else语句
- if else if语句
- 三元表达式
- switch表达式
循环结构
- for循环
- while循环
- do while循环(先执行一次循环体代码,再执行表达式,循环)
- continue关键字,立即跳出本次循环
- break关键字,立即跳出整个循环
数组
创建数组
- new Array()
- 数组字面量 let arr=[1,2,3]
数组索引(下标)
遍历数组
数组长度
数组新增元素
- 修改length长度
- 修改数组索引
2023/1/31 星期二
https://blog.csdn.net/Augenstern_QXL/article/details/119250991
函数
函数的使用
- 声明函数 function 函数a()
- 调用函数 函数a()
函数的参数
- 形参 - 函数定义
- 实参 - 函数调用
实参个数小于形参个数,多的形参定义为undefined,结果为Nah
函数返回值 return
return把自身后面的值返回给调用者。没有return,返回undefined。
return 终止函数。
return只返回一个值,以最后一个为准。
break,continue,return的区别
arguments 对象
所有函数都内置的一个对象,存储了传递的所有实参。
伪数组。
函数的声明方式
- 自定义函数(命名函数) function fn(){}
- 函数表达式(匿名函数) var fn=function(){}
作用域
作用域分类
- 全局作用域 script标签内部/独立的js文件
- 局部(函数)作用域
- 块级作用域 {}
变量的作用域
- 全局变量
- 局部变量
作用域链
作用域链: 内部函数访问外部函数的变量,采取的是链式查找的方式来决定取哪个值,这种结构我们称为作用域链表
就近原则。
预解析
js引擎会把js里面所有的 var 还有 function 提升到当前作用域的最前面。
变量提升
变量的赋值不会提升。