java script 变量
概述
把一个具体的值存入到变量中。那么此时这个变量就代表着我们这个具体的值。我们如果想要重新的使用这个值,不再需要重新的计算或者其他操作,直接使用变量就可以得到之前存储的这个值。
简单的说,变量就是一个保存数据的容器,调用变量就是调用保存在这个容器中的值。
变量之所以叫做变量,是因为变量随时可以根据我们的需要去改变其中存储的值
注:变量本身没有数据类型,只能根据存储的值来判断数据类型。
创建一个变量
声明关键字,如:var、let
var
声明一个变量,可选初始化一个值。
let
声明一个块作用域的局部变量,可选初始化一个值。
声明变量的三种方式:
使用关键词 var
var a = 42; // 可以用来声明局部变量和全局变量。
直接赋值(不推荐)
b = 42;// JS 的小 bug,这样写会产生一个全局变量
这种方式在严格模式下会出错,也没人会用这种方式声明变量,不建议使用这种方式。
使用关键词 let
let c = 12; // 用来声明块作用域的局部变量。
声明变量的底层原理
我们所写的程序运行在内存中,当我们使用关键字声明一个变量的时候,计算机会从内存中划分一个空间,为我们存放不同类型的内容做准备
变量的命名规则
1. 由数字、字母、下划线( _ )、$ 组成。
不能由数字开头
不能包含星号 ( * )
不能包含加号
不能包含减号或者连词线
字母可以是大写,也可以是小写。
2. 语义化,看其名知其意,前缀就可以表示出变量的类型
3. 不允许使用关键字和保留字。
4. 如果变量名由多个单词组成,要使用驼峰式命名法
大驼峰:从第一个单词的首字母开始大写。
小驼峰:从第二个单词的首字母开始大写。
注:JS 对大小写敏感,a 和 A 是不同的。
var a = 1; var A = 2; console.log(a); // 1 console.log(A); // 2
变量也叫做标识符。
变量的存储
重新存储数据
当我们重新的向变量中存储数据的时候,不需要再加 var
var a = 10; a = 20;
上面我们将变量 a 内存储的数据由10变成了20,在重新存储的过程中,我们并没有使用 var,那么上面的代码就相当于我们将20的值存储到之前创建的变量 a 中
重新声明变量
如果在重新存储数据的过程中,没有在变量名前面加 var,那么相当于是更改变量 a 中存储的值,而如果前面加了 var,则相当于重新的创建了一个变量 a,并且存储了这个数据。
var a = 10; // 第一次声明变量 a var a = 20; // 再一次通过 var 声明变量 a,并且使用了 var
虽然最后的结果和上面的打印结果相同,但是变量 a 本质上已经发生了变化 (存储的地址变了)
如果采用以下方式,那么重新创建的变量将会无效:
var x = 1; var x;
变量提升
JS 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果就是所有的变量的声明语句,都会被提升到代码的头部。
console.log(a); var a = 1;
上面代码首先使用 console.log 方法,在控制台 (console) 显示变量 a 的值。这时变量 a 还没有声明和赋值,所以这是一种错误的做法,但是实际上不会报错。因为存在变量提升,真正运行的是下面的代码
var a; console.log(a); a = 1;
最后的结果是显示 undefined,表示变量 a 已声明,但还未赋值
关键字的介绍
关键字
关键字用于执行特定操作等。按照规则,关键字也是语言保留的,不能用做变量。
常见的关键字
break、do、instanceof、typeof、case、else、new、var、catch、finally、return、void、continue、 for、switch、while、debugger、function、this、with、default、if、throw、delete、in、try
保留字
未来可能做为关键字的存在
常见的保留字
abstract、enum、int、short、boolean、export、interface、static、byte、extends、long、super、 char、final、native、synchronized、class、float、package、throws、const、goto、private、 transient、implements、protected、volatile、double、import、public
基本上这些关键字和保留字都是一些语义强烈的词语。
Java Script 数据类型
数据类型
什么是数据类型?
变量用来临时存储数据(如果想要永久的存储数据,需要通过数据库)。而在任何一门编程语言当中,数据都是分为不同类型的。就如同人类也分为男人和女人一样。
基本数据类型
基本数据类型也叫做 值类型、原始类型;有六种
String 字符型
&nb