1、语句和表达式
1.1概述
JavaScript 程序的执行单位为行,也就是一行一行地执行。一般情况下,每一行就是一个语句。例如
var a = 4 + 3;
上面的例子就是一个语句,这条语句先用var命令,声明了变量a,然后将4+ 3的运算结果赋值给变量a。而4+3就是一个表达式,指一个为了得到返回值的计算式。
1.2区别
表达式和语句的区别,表达式一般都有值而语句一般是没有的;语句一般会改变环境(声明、赋值),这两个也不是绝对的。
1+2表达式的返回值为3
add(1,2)表达式的值为函数的返回值
console.log表达式的值为函数本身
console.log(3)表达式的值为3
1.3语句的两类用法
不同的语句可以写在同一行
var a = 4 + 3; var b = 8-2;
;前面可以什么也不写下面的语句就表示三个空语句
;;;
2、JS中的大小写
js中的大小写需要注意区分,var a和var A的含义不同
object和Object含义不同等
3、JS空格
3.1空格
js空格没有太大的含义
var a = 1;
var a=1;//两个语句相等,没有区别
3.2回车
一般情况下加回车也没有太大的影响

3.3return加回车有影响
function fn() {
return 3
}
function fn() {
return
3//加了回车运行结果不一样
}

4、标识符
4.1概述
标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名,以及后面要提到的函数名。
4.2标识符的规则
- 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
- 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9。
var a = 1;
var $ = 1;
var _=6;
var 你好 = 'hi';
以下是不合法的
1a // 第一个字符不能是数字
*** // 标识符不能包含星号
a+b // 标识符不能包含加号
-d // 标识符不能包含减号或连词线
JavaScript 有一些保留字,不能用作标识符:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield.
5、注释
5.1概述
源码中被 JavaScript 引擎忽略的部分就叫做注释,它的作用是对代码进行解释。JavaScript 提供两种注释的写法:一种是单行注释,用//起头;另一种是多行注释,放在/和/之间。
// 这是单行注释
/*
这是
多行
注释
*/
5.2好的注释
好的注释应该是跳坑的注释而不是去翻译全文的注释
6、条件结构
6.1if的三种结构
if (m === 6) {//表达式
m += 1;//语句
}
if (m === 4) {
// 满足条件时,执行的语句
} else {
// 不满足条件时,执行的语句
}
if (m === 0) {
// ...
} else if (m === 1) {
// ...
} else {
// ...
}
6.1.1几点需要注意的点
- 等号和赋值之间的区别a=1和a===1是不同的含义,前者表示赋值给a后者表示a等于1。
- {}语句在只有一句的时候可以省略,不过不介意省略。
- 缩进需要注意例如
a = 1
if(a === 2)
console.log('a')//只有一个语句所以{}省略了
console.log('a 2')//缩进了两个空格 前面的不执行所以执行此打印出来的应该是a2
6.2、switch结构
//根据变量fruit的值,选择执行相应的case。如果所有case都不符合,则执行最后的default部分,注意break不可以省,否则会继续执行下面的代码
switch (fruit) {
case "banana":
// ...
break;
case "apple":
// ...
break;
default:
// ...
}
6.3、问好冒号表达式
(条件) ? 表达式1 : 表达式2//表示如果条件成立,则执行表达式1否则执行表达式2
举例说明
n=6
n % 2 === 0 ? true : false
//true
6.4&&短路逻辑
A&&B&&C&&D//取第一个假值或者D
6.5||短路逻辑
A||B||C||D //取第一个真值或者D
举例如下
a=a || 100
if (a) {
a=a;
}else{
100;
}
//两句表达的意思相同
7、循环语句
7.1while循环
while语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。
while(表达式){
语句;
}
先判断表达式真假,表达式为真执行语句,执行完在判断表达式的真假,如果为真继续执行语句,如果为假则执行下面的语句。
var i =0 //初始值
while (i<10){ //判断
console.log(i);//循环体
i=i+1;//增长
}

7.2for循环
for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。它的格式如下。
for (初始化表达式; 条件; 递增表达式){
语句
}
//初始化表达式:确定循环变量的初始值,只在循环开始时执行一次,可以放在外面。
//条件:执行的条件判断.
//递增表达式:每轮循环的最后一个操作,通常用来递增循环变量。
此处如果条件为假则直接跳出循环。
var x = 3;
for (var i = 0; i < x; i++) {
console.log(i);
}

7.3跳出循环(break continue)
break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。区别break语句用于跳出代码块或循环,continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
for (var i = 0; i < 5; i++) {
console.log(i);
if (i === 3)//表示如果满足条件则循环不执行
break;
}

注释:当I等于3的时候还满足条件循环条件,不过因为break所以循环就完全退出了。
var i = 0;
while (i < 5){
i++;
if (i === 2) continue;
console.log('i 当前为:' + i);
}

7.4标签(label)
JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下.
label:
语句 //标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。
下面代码执行到break foo,就会跳出区块
foo: {
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);
// 1
// 2
本文为本人的原创文章,著作权归本人和饥人谷所有,转载务必注明来源.参考文章阮一峰JS入门篇。
网友评论