变量
什么是变量
变量是一块内存空间,用于保存数据
计算机由CPU,内存,硬盘,输入输出设备组成
内存的特点:存取速度快,存取速度远远大于硬盘,但缺点是数据易丢失重启电脑数据就没了
硬盘:存取速度快,数据可以永久保存
计算机程序的运行,只与内存打交道
如何使用变量
1.声明变量
var 变量名;
比如声明一个变量pid
,但是不给它赋值
var pid;//声明一个变量pid,目前,变量为undefined
console.log(pid);//输出变量pid的值(pid中存放的数据)
console.log(typeof pid);//undefined
变量声明后,如果没有赋值,它的值默认为undefined
2.给变量赋值
也就是向变量的内存空间中存放数据
var pid;
pid='123344';//将123344存放到变量pid中
console.log(typeof pid);//string
- 变量的值是可变的
变量可以被重新赋值,新的值会覆盖原来的值
var a;
a=1;
console.log(a,typeof a);//1 "number"
a='abc';
console.log(a,typeof a);//abc "string"
这说明在js里变量的类型是可以变化的,变量的类型取决于存放的值得类型
- 变量的名称
在开发中,凡是需要自行命名的位置,叫做标志符
标志符的规范:
1)只能以英文字母,下划线和英文的$开头
2)其他位置可以出现数字,英文字母,下划线和英文人民币符号
3)标志符应该做到望文知义
4)如果有多个单词,使用驼峰命名法,单词首字母大写
5)不可以与关键词,保留字重名
大驼峰命名法:每个单词的首字母大写
小驼峰命名法:除了第一个单词外的其他单词的首字母大写(这里推荐使用小驼峰命名法)
- 声明和赋值合并
多个变量可以合并声明并赋值,变量的声明和赋值可以一条语句书写,这是语法糖,语法糖仅仅是为了方便代码书写或者记忆,并不会有实质性的改变,即:
// (实际运行的时候是以这种方式运行的)
var a;
var b;
var c;
a = 1;
b = 2;
c = 3;
// 等效于
var a, b, c;
a = 1;
b = 2;
c = 3;
// 等效于
var a = 1,
b = 2,
c = 3,
d;
console.log(a, b, c, d);
任何可以书写数据的地方,都可以书写变量
var a = "hello";
var b = a; // 将变量a的数据复制到变量b中
b = "world"; // 不会影响a
console.log(a, b);
-
若使用一个未声明的变量,会导致报错
例外:使用typeof获取变量的类型时,可以是未声明的变量,得到的结果是undefined
-
js中存在变量提升
所有变量的声明,会自动的提升到代码的最顶部,但是这种提升,不会超越脚本块(一个脚本块是指<script></script>
之间的区域)console.log(a);//undefined var a=1;
js在执行这段代码的时候会把a的声明提升到脚本的最顶部,如下所示:
var a; console.log(a);//执行到这里的时候a其实已经声明过了,只是还未赋值 a=1;
-
js中允许定义多个同名变量,但是不推荐这样做,同名变量提升之后会变成一个
如下所示:
var age = 12
console.log(age) //12
var age = 14
console.log(age) //14
var age = 18
console.log(age) //18
// 上面的代码等效于
var age
age = 12
console.log(age) //12
age = 14
console.log(age) //14
age = 18
console.log(age) //18
```
网友评论