1 JS变量与常量
- 概述
- 变量:在后续编码过程中会被重新赋值,是不断变化的。
- 常量:固定不变的数据,日常生活比如性别男,代码层面是在编码过程中不会变化的固定数据。
- 命名规则
- 变量
- 可以包含数字,字母,下划线,美元符号
- 不能以数字开头
- 不能是JS中的关键字、保留字
- 可以只声明不赋值,重新定义
- 常量
- 必须给初始值
- 一经定义,不能重新修改定义
- 定义
- 变量:
let name ='芒果' var name ='芒果'
- 常量:
const sex = '女'
- 变量提升
- 是什么:变量提升就是该变量没有定义但却可以使用
- 为什么:JS引擎解析方式是先解析再运行,解析就已经获取声明的变量,变量提升到代码头部;另外还有一点是解决函数之间相互调用问题
- 怎么做:优先级函数大于变量,函数声明提升,地址赋值给变量;变量提升并赋值undefined
- 举例
- 变量提升是针对var关键字声明的变量
- var关键字声明的变量str从if代码块的局部变量提升后挂载在window
- 未定义是undefined
- 变量提升是针对var关键字声明的变量
- var let const区别
- var 存在变量提升,而 let、const 没有。
- var 在浏览器环境下声明的变量会挂载到 window 上,而其他两者不会。
- let 和 const 的作用一致,const声明常量不能修改,let声明变量可以修改。
2 回文字符串
- 数组和字符串相互转化,再反转
- 头尾比较