## 变量
变量就是用来存储数据的容器
## 声明变量使用 var 关键字
1. 变量声明(举例)
var name = ‘右侧这个区域叫(表达式);
var 是声明变量的关键字
name 是变量的名字
= 赋值运算符
= 右边 表达式
2. var 提升变量,只是把变量提升到作用域的最顶层,变量的赋值不会提升,依旧保存在 原始位置
## 内存分配
1. 内存中的栈【有序存储】: 存储基础数据类型的数据【字符串,数字,布尔值】
2.内存中的堆【无序存储】:存储的是复杂/引用类型的数据【对象,数组】
## 变量命名规范
1. 【重点】 变量名不可以是js的关键字或保留字(比如:for var)
2. 变量的名字不可以用数字开头以及其他非英文字母的字符,虽然也可以使用中文来做变量名,但是不建议这样做
3.变量可以使用 ''$'' ''_"英文字母做变量名
4.命名的时候应该遵循语义化规则:让变量有实际的含义,最次可以使用拼音(不推荐)
5.驼峰式命名法
-大驼峰命名法:myget => MyGet;每个单词首字母要大写
-小驼峰命名法:myget => myGet ,除第一个单词首字母不用大写,后面的都需要
## 作用域
定义:程序生效的空间。
-- 全局作用域:script【脚本】
-顶级对象: Window document
-Window 又叫 BOM
-document 又叫 DOM (文档)
那俩关系
- BOM 包含 BOM
-- 局部作用域: function【函数】 module【es6】
-顶级对象:this
- 内部声明的变量
- 声明在局部作用域中的变量不可以在外部使用,但是如果不使用关键字声明变量,则会提升到全局作用域中
- 函数天生有返回值,返回值默认为