# 章序号/节序号/节/笔记序号
codecademy, Variable
# 概念阐释
## 语义
变量是用来存储脚本执行任务时所需的信息的。之所以叫做“变”量,是因为脚本在执行任务时,每次数据都会不同。
变量可以存储任意的[[JavaScript 数据类型]]。
## 语法
### 如何声明变量declare variable

- **变量关键字Keyword**在2015年后的ES6中包括了`var`, `let`, and `const`
- 变量提供了一些描述性名称,叫做**variable name 变量名称** 来标记数据,可以让程序更清楚地被人类(其他程序员和我们自己)所理解。
### 如何给它们赋值

- 用赋值操作符来给变量赋值assignemnt operator ,它的意思是给变量赋予一个值,它还可以用来更新一个变量的值。
```js
=
```
- 变量值variable value有很多种[[JavaScript 数据类型]]
- 在给变量赋值之前,程序员将变量的值称为**undefined**.
```js
let price;console.log(price); // Output: undefined
price = 350;console.log(price); // Output: 350
```
### 变量与数学运算符
用[[JavaScript 算术操作符|数学运算符]]添加另一个变量。

### 变量值可以等于调用函数的参数
[[js Iterators function 函数作为变量值]]
# 举例子
```js
var myName = 'Arya';
console.log(myName);// Output: Arya
```
# 类比、比较与对比
变量好比人的短时记忆,比如我要参加一场会议,我需要做在场嘉宾的介绍,嘉宾名字就是存储在我短时记忆中的变量,现场介绍是我要执行的任务。再做下一次的嘉宾介绍时,变量名还是嘉宾,但名单换了。并且会议结束后,名字就被我忘光了。
# 问题
## 解释概念:
- 什么是变量?用来做什么?举一个现实世界中的类比例子。
- 没有被赋值的变量值称为什么?
## 操作练习:
**1**
宣称一个变量名`favoriteFood`,值为`'pizza'`,print结果;
宣称一个变量名`numOfSlices`,值为 `8`,print结果;
**2.**
如果有3个变量,name、age、job的缩写格式是什么?
# 问题答案
```js
var favoriteFood = 'pizza';
var numOfSlices = 8;
console.log(favoriteFood);
console.log(numOfSlices);
```
```js
let name='Mike',age='29',job='software Engineer';
or
let name='Mike'
,age='29'
,job='software Enginner';
```
# 备注(经验集/错误集)
- [MDN’s keyword documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords)
- [MDN var documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var)
*错误集:*
总记不住这条规则:变量名不能同变量关键字一样
## 变量名的几条规则:
1. 变量名不可以以数字开头,可以是字母、美元符号或下划线
2. 变量名必须精准到每一个字母的大小写,myName和myname会被视为创建了2个变量
3. 变量名不能同变量关键字一样
4. 一个单词以上的变量名需要用**camelCase**的形式来写,[[js var const 变量关键字const|const]]变量名为大写字母时表示不可更改,用`_`分隔(SNAKE_CASE)
5. 变量名描述的是存储的信息(变量值),例如存储的信息是一个人的姓,变量名为firstName