1.语句
var a = 1+1;复制代码
语句(statement)是为了完成某种任务而进行的操作。上面就是一个语句,用var声明一个变量a,1+1表达式赋值给a。语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。 多个语句一般用分号隔开,一个语句后面加一个分号(;)
var a = 1;var b = 2;var c = 'aaa';复制代码
2.1变量
含义:变量是对“值”的具名引用。变量就是为“值”起名,然后引用这个名字,就等同于引用这个值。变量的名字就是变量名。
上例的a,b,c就是变量名,它代表后面的变量“值”,需要注意的是不是说所有“人”都能当变量名滴。 这些不可以
1a // 第一个字符不能是数字23 // 第一个字符不能是数字*** // 标识符不能包含星号a+b // 标识符不能包含加号-d // 标识符不能包含减号或连词线复制代码
下面这些都是可以的
aa1中文$abc_abc复制代码
2.2变量提升
含义:JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。
var a = 1其实等于var a //var a就叫变量提升,把它提到前面。a =1console.log(a) //undefined,因为声明了变量还未赋值复制代码
var a a = 1console.log(a) //1复制代码
顺便说一下,console.log()是很重要的,以后写JS的时候需要经常用到,打开页面,右键点击检查,点到console,自己平时可以测试用。
3.注释
// 单行注释/*多行注释*/ 复制代码
是用来解释代码的,把想在代码中说的话用注释“控制”起来,又不用影响代码,注释掉的内容不会影响正常代码的。
4.区块
含义:JavaScript 使用大括号,将多个相关的语句组合在一起,称为“区块”。
{ var a = 1}复制代码
在 JavaScript 语言中,单独使用区块并不常见,区块往往用来构成其他更复杂的语法结构,比如for、if、while、function等。
5.if条件句
含义:if结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是 JavaScript 的两个特殊值,true表示真,false表示伪。 if条件句的基本结构是:
if(布尔值)语句;if(a===1)a = a+1复制代码
只有当a===1时,才能让a再+1。
6.if...else语句
if (b === 2) { // 满足条件时,执行的语句} else { // 不满足条件时,执行的语句}复制代码
如果b=2就执行if里面的语句,否则执行else里的语句。
7.switch结构
var score = 100switch (score) { case 100: console.log('100分') break; case 90: console.log('90分') break; default: console.log('其他')}复制代码
如果score是100分就输出100分,90分的话就输出90分,以上都没有的话就输出其他。可以接很多条件。注意格式,以及每个部分的break不能少。
8.三元运算符
(条件) ? 表达式1 : 表达式2var number = (a % 4 === 0) ? true: false复制代码
如果a可以被4整除,则number等于true,否则等于false。
9.循环语句while
var i = 0;while (i < 10) { console.log('i 当前为:' + i); i = i + 1;} //1 2 3 4 5 6 7 8 9 10复制代码
上面的代码将循环10次,直到i等于10为止。
10.循环语句if
for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。for语句后面有三个表达式:
初始化表达式(initialize):确定循环变量的初始值,只在循环开始时执行一次。条件表达式(test):每轮循环开始时,都要执行这个条件表达式,只有值为真,才继续进行循环。递增表达式(increment):每轮循环的最后一个操作,通常用来递增循环变量。复制代码
var x = 3;for (var i = 0; i < x; i++) { console.log(i);} //0 1 2复制代码
x=3,i=0,i是不是小于x,是的话输出0,i++就是i+1,+1之后等于1,1是不是小于x,是的,再输出1,再i++等于2,2是不是小于x是的,输出2,i++等于3,3是不是小于3,不是,over。最终输出0 1 2
11.break和continue
break:用于强制退出循环体,执行循环后面的语句。 continue: 用于退出本次循环体,执行下次循环。
for(var i = 1; i < 10; i++){ if(i % 4 ===0){ break; } console.log(i)}复制代码
i=1且小于10,看i是不是4的倍数,i=1不是,i+1等于2,再看2是不是4的倍数, 不是再+1,判断3是不是4的倍数,不是再+1,等于4,4是4的倍数,over,输出1 2 3。 还是同样的例子,continue是这样的:
for(var i = 1; i < 10; i++){ if(i % 4 ===0){ continue; } console.log(i)}复制代码
等于4和8的时候执行continue,不执行下面的console.log(i) 输出1 2 3 5 6 7 9