一、表达式与语句
-
表达式一般都有值,语句可能有也可能没有值
-
语句一般会改变环境(声明、赋值)
eg: a = 1是一个环境,var a = 1是一个语句
- 以上两句并不绝对
- 只有函数有返回值
eg:1+2表达式的值为3
add(1,2)表达式的值为函数的返回值
console.log表达式的值为函数本身
console.log(3)表达式的值是多少?是undefined
二、JS的大小写敏感
注意严格区分
如:var a 和 var A; function和Function 都是不同的意思
三、空格
-
大部分的空格没有实际意义,只要不影响断句。 如
var a = 1和var a=1没有区别; -
回车也可以随便加,但是有一个地方不能回车,
return的后面,如果return后面什么也不写加了回车,JS会自动补充一个undefined。
四、标识符
(取名字时用到的符号)
-
规则:
第一个字符可以是Unicode字母或 $ 或 _ 或者中文
eg: var _ = y ; var 你好 = ‘hi’
后面的字符除了以上几种,还可以是数字
eg:var $9 = x
五、注释
// 只能注释一行
/* 可以注释多行*/
正确运用注释
- 踩坑的注解
- 为了解决bug而写的奇怪代码
六、区块block
用{ }把代码包在一起,常与if/for/while合用
七、条件语句
1、if语句
语法
-
if(表达式) {语句1} else {语句2} -
{ } 在语句只有一句的时候可以省略,但不建议这样做 eg:
if(a < 100)
if(a < 10)
变态情况
- 语句1和语句2里,都可以有嵌套的
if else; - 缩进也可以很变态
- 永远使用最没有歧义的写法
2、switch语句
语法
(切记不要省略break)
switch (fruit) {
case “banana”:
// …
break;
case “apple”:
// …
break;
default:
// …
}
3、问号冒号表达式
-
表达式1?表达式2;表达式3
-
最简单的if else的写法,能用?:时就不要用if else。
-
常用于简化if和else里只有一个语句。或者求一个数字的绝对值时。 eg:
4、&&短路逻辑
A && B && C && D 取第一个假值或D,并不会取ture/false;
5、||短路逻辑
A || B || C || D 取第一个真值或D,并不会取ture/false;
eg:
八、循环语句
1、while循环
语法
while(表达式) {语句}
- 首先判断表达式的真假;
- 如果表达式为真,就执行语句,执行完再次判断表达式的真假;
- 如果表达式为假,执行后面的语句。
变态情况
浮点数不精确导致永远不会等于1,就会死循环
2、for循环
for是while循环的方便写法
语法:
for(语句1;表达式2;语句3){ 循环体 }
- 先执行语句1,然后判断表达式2,如果为真,执行循环体;如果为假,直接退出循环,执行后面的语句。
3、break和continue
break退出所有循环,continue退出当前一次循环
- 当有两层循环时,
break只会跳出离它最近的foreg:
九、label 标记语句
标记语句可以和 break或 continue语句一起使用。标记就是在一条语句前面加个可以引用的标识符。
语法:
foo: {
console.log(1);
break foo;
console.log('this will not be executed');
}
console.log('2');
面试题:
{
fool:1
}
以上代码是什么?答:fool是label,它的语句是1。
阮一峰JS语法入门资料
©本文为Easar的原创文章,著作权归本人和饥人谷所有,转载务必注明来源