JS基本语法
一、表达式和语句
JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。 语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。
var a = 1+ 3;
1 + 3叫做表达式(expression),指一个为了得到返回值的计算式。 语句和表达式的区别:
- 语句主要为了进行某种操作,一般情况下不需要返回值;表达式是为了得到返回值,一定会返回一个值。
- 语句以分号结尾,一个分号就表示一个语句结束。多个语句可以写在一行内;
var a = 1 + 3 ; var b = 'abc';
分号前面可以没有任何内容,JavaScript 引擎将其视为空语句。 ;;;
即表示三个空语句。
而表达式则不需要分号结尾。一旦在表达式后面添加分号,则 JavaScript 引擎就将表达式视为语句,这样会产生一些没有任何意义的语句。
1 + 3;
'abc';
上面两行语句只是单纯地产生一个值,并没有任何实际的意义。
注意事项
1.大小写敏感。如object
和Object
是不一样的;
2. 大部分空格和回车没有实际意义。只有 return 后面不能加回车;[/acc]
标识符
命名规则
- 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)
- 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9
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。
if else语句
语法
- if (表达式){语句} else {语句}
- {}在语句只有一句的情况下可以省略,但不建议这样做 推荐写法
if (表达式) {
语句
} else if (表达式) {
语句
} else {
语句
}
次推荐写法
function fn(){
if (表达式) {
return 表达式
}
if (表达式) {
return 表达式
}
return 表达式
}
问号冒号表达式(三元表达式)
表达式1 ? 表达式2 : 表达式3
短路逻辑
- A&&B&&C&&D取第一个假值或D,并不会取true或false;
- A||B||C||D取第一个真值或D,并不会取true或false;[/acc]
循环语句
- while循环 While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。
while (条件)
语句;
// 或者
while (条件) 语句;
//或者
while (条件) {
语句;
}
- for循环 for循环是while循环的升级版。
for (初始化表达式; 条件; 递增表达式)
语句
// 或者
for (初始化表达式; 条件; 递增表达式) {
语句
}
注意:在语句执行完后才回去执行递增表达式;
break 语句和 continue 语句
break语句用于跳出代码块或循环。
continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
如果存在多重循环,不带参数的break语句和continue语句都只针对最内层循环。
标签(label)
JavaScript 语言允许语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
label:
语句
标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。 标签通常与break语句和continue语句配合使用,跳出特定的循环。
//满足条件时,直接跳出双层循环.
top:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) break top;
console.log('i=' + i + ', j=' + j);
}
}
// 跳出代码块
foo: {
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);