# 章序号/节序号/节/笔记序号 codecademy, Variable # 概念阐释 ## 语义 变量是用来存储脚本执行任务时所需的信息的。之所以叫做“变”量,是因为脚本在执行任务时,每次数据都会不同。 变量可以存储任意的[[JavaScript 数据类型]]。 ## 语法 ### 如何声明变量declare variable ![](http://image.harryrou.wiki/2023-01-03-%E6%88%AA%E5%B1%8F2023-01-03%2011.04.23.png) - **变量关键字Keyword**在2015年后的ES6中包括了`var`, `let`, and `const` - 变量提供了一些描述性名称,叫做**variable name 变量名称** 来标记数据,可以让程序更清楚地被人类(其他程序员和我们自己)所理解。 ### 如何给它们赋值 ![](http://image.harryrou.wiki/2023-01-03-%E6%88%AA%E5%B1%8F2023-01-03%2011.12.14.png) - 用赋值操作符来给变量赋值assignemnt operator ,它的意思是给变量赋予一个值,它还可以用来更新一个变量的值。 ```js = ``` - 变量值variable value有很多种[[JavaScript 数据类型]] - 在给变量赋值之前,程序员将变量的值称为**undefined**. ```js let price;console.log(price); // Output: undefined price = 350;console.log(price); // Output: 350 ``` ### 变量与数学运算符 用[[JavaScript 算术操作符|数学运算符]]添加另一个变量。 ![](http://image.harryrou.wiki/2023-01-31-IMG_0408.jpg) ### 变量值可以等于调用函数的参数 [[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