以下内容推荐看阮一峰的JavaScript 的基本语法:点击这里

表达式

表达式一般都是有值的东西。为了得到返回值,一定会返回一个值。

表达式不需要分号结尾。一旦在表达式后面添加分号,则 JavaScript 引擎就将表达式视为语句,这样会产生一些没有任何意义的语句。

  1. 1+3

语句

语句是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。

语句以分号结尾,一个分号就表示一个语句结束。

分号前面可以没有任何内容,JavaScript 引擎将其视为空语句。

  1. var a = 1

语句一般改变当前的环境。(这两句话不是绝对的)

JS 是大小写敏感的

大部分空格是没有实际意义的

  1. var a = 1 // var a = 1ja

return 后面不能加回车 回车后会默认在return后面加上 undefined

  1. return undefined

标识符

命名规则如下:

第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9。

第一个字符,可以是Unicode字母或$或_或中文但是不能是数字开头
后面的字符,除了上面所说,还可以有数字

  1. //非法的
  2. var 8v = 1;

注释

单行 //

多行注释 / /

  1. // 这是单行注释
  2. /*
  3. 这是
  4. 多行
  5. 注释
  6. */

if语句

语法

  1. // 写法一
  2. if (表达式) { //表达式返回 true/false
  3. 语句1
  4. } else {
  5. 语句2
  6. }
  7. //写法二
  8. function fn() {
  9. if (condition1) {
  10. return
  11. }
  12. if (condition2) {
  13. return
  14. }
  15. return
  16. }

{}在语句只有一句可以省略

switch语句

语法

  1. switch (key) {
  2. case value:
  3. break;
  4. case value2:
  5. break;
  6. default:
  7. break;
  8. }

实例:

  1. var a = 1
  2. switch (a) {
  3. case 1:
  4. blue
  5. break;
  6. case 2:
  7. green
  8. break;
  9. default:
  10. red
  11. break;
  12. }

三元表达式

  1. 表达式1?表达式2:表达式3 //如果 真 返回表达式2 错误 返回表达式3

简化的IF语句

&&短路逻辑

语法

  1. A && B && C && D
  2. /* */
  3. var c = 1;
  4. if (c === 1) {
  5. console.log('存在');
  6. }
  7. //等价于
  8. c === 1 && console.log("存在");

2个都为真的情况下返回 B 只要A是假就返回A,如果A是真而B是假就返回B

||短路逻辑

语法

  1. a || b || c
  2. if(!a){
  3. b
  4. }else{}

while循环

语法

  1. while(表达式){
  2. 语句
  3. }

实例:

  1. var i = 0;
  2. while (i < 10) {
  3. console.log(i);
  4. i++;
  5. }
  6. //下面是一个死循环 i是个浮点数
  7. var i = 0.1;
  8. while (i !== 1) {
  9. console.log(i);
  10. i += 0.1
  11. }

for循环

语法

  1. for (初始化表达式; 条件; 递增表达式) {
  2. 语句
  3. }
  4. // 下面示例
  5. for (let i = 0; i < 10; i++) {
  6. console.log('执行了' + i);
  7. }

小贴士:每次循环结束后,i增大1。

下面代码 执行了5遍5

  1. for (var i = 0; i < 5; i++) {
  2. setTimeout(() => {
  3. console.log(i);
  4. }

下面代码 就执行了1,2,3,4,5

  1. for (let i = 0; i < 5; i++) {
  2. setTimeout(() => {
  3. console.log(i);
  4. }

break 和continue

break 退出当前所有的循环 下面代码输出 1 直接就退出了循环

  1. for (var i = 0; i < 10; i++) {
  2. if (i % 2 === 1) {
  3. console.log(i);
  4. break;
  5. }
  6. }

continue 退出当前循环执行下个循环 下面代码输出 0 2 4 6 8

  1. for (var i = 0; i < 10; i++) {
  2. if (i % 2 === 1) {
  3. continue
  4. } else {
  5. console.log(i);
  6. }
  7. }

label

JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置

标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。

  1. ` foo: {
  2. console.log(1);
  3. break foo;
  4. console.log('本行不会输出');
  5. }
  6. console.log(2);

标签通常与break语句和continue语句配合使用,跳出特定的循环。

  1. top:
  2. for (var i = 0; i < 3; i++){
  3. for (var j = 0; j < 3; j++){
  4. if (i === 1 && j === 1) break top;
  5. console.log('i=' + i + ', j=' + j);
  6. }
  7. }

break命令后面加上了top标签(注意,top不用加引号),满足条件时,直接跳出双层循环。

下面代码不是一个对象

  1. //下面是个代码块 a是label 语句是1
  2. {
  3. a: 1
  4. }

资料来源:饥人谷 阮一峰

本文为贰贰的原创文章,著作权归本人和饥人谷所有,转载务必注明来源