javascript
技术文章
开发
JavaScript 语法和数据类型
JavaScript 变量
概述
把一个具体的值存入到变量中。那么此时这个变量就代表着我们这个具体的值。我们如果想要重新的使用这个值,不再需要重新的计算或者其他操作,直接使用变量就可以得到之前存储的这个值。
简单的说,变量就是一个保存数据的容器,调用变量就是调用保存在这个容器中的值。
变量之所以叫做变量,是因为变量随时可以根据我们的需要去改变其中存储的值
注:变量本身没有数据类型,只能根据存储的值来判断数据类型。
创建一个变量
声明关键字,如:var、let
var
声明一个变量,可选初始化一个值。
let
声明一个块作用域的局部变量,可选初始化一个值。
声明变量的三种方式:
使用关键词 var
var a = 42; //可以用来声明局部变量和全局变量。
直接赋值(不推荐)
b = 42;//JS 的小 bug,这样写会产生一个全局变量
这种方式在严格模式下会出错,也没人会用这种方式声明变量,不建议使用这种方式。
前两者有一些区别,使用 var 的有提升,后者没有提升。至于提升,后面会说到。
使用关键词 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 还没有声明和赋值,所以这是一种错误的做法,但是实际上不会报错。因为存在变量提升,真正运行的是下面的代码
vara;
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 字符型
1. 单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号
2. 如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是如此。
'Did she say 'Hello'?'
3. 如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠
var longString = 'Long
long
long
string';//Long long long String
反斜杠后面必须是换行符
4. 字符串默认只能写在一行内,分成多行将会报错
5. 连接运算符(+)可以连接多个单行字符串,将长字符串拆成多行书写,输出的时候也是单行
6. 转义字符: 反斜杠()在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符,以下有几种常见的转义符: