js基本语法

文章总结搬运自:https://wangdoc.com/javascript/basic/grammar.html
image

1、语句(statement)与表达式(expression)

  • 语句:无返回值,以分号结尾
  • 表达式:必有返回值
  • 空格:没有实际意义但不建议
  • 回车:return不能加回车

1.2、布尔标识符

  • 取反运算符:!:将布尔值变为相反值
  • 且运算符:&& 串联
  • 或运算符:|| 并联
  • 三元运算符:?:

2、标识符(identifier)

标识符(identifier)指的是用来识别各种值的合法名称。命名规则如下:

  • 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
  • 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9。
  • 不合法的标识符:* + -
  • 不能用作标识符的保留字: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。

3、注释

  • //:单行注释
  • /* */ 多行注释

4、区块(block)

{ }

  • 用来构成其他更复杂的语法结构,比如for、if、while、function
  • 区块对var命令不构成单独的作用域,即区块外,var声明变量仍有效

5、条件语句

5.1、if

if(条件){
满足条件时,执行语句;不满足,跳出循环
}

eg:

if (m === 3) {
  m += 1;
}

5.2、-if...else

if(条件){
满足条件时,执行的语句
}else{
不满足条件时,执行的语句
}

eg:

if (m === 0) {
  // ...
} else if (m === 1) {
  // ...
} else if (m === 2) {
  // ...
} else {
  // ...
}

5.3、swich

注意:break不能少

switch (fruit) {
  case "banana":
    // ...
    break;
  case "apple":
    // ...
    break;
  default:
    // ...
}

eg:

switch (x) {
  case 1:
    console.log('x 等于1');
    break;
  case 2:
    console.log('x 等于2');
    break;
  default:
    console.log('x 等于其他值');
}

5.4、三元运算符?:

(条件) ? 表达式1(条件为真执行) : 表达式2

eg:如果n可以被2整除,则a等于true,否则等于false

var a = (n % 2 === 0) ? true : false;

6、循环语句

6.1、while循环

while (条件) {
  语句;
}

单语句可以省略{}

6.2、for循环

for (初始化表达式; 条件; 递增表达式) {
  语句
}
  • 初始化表达式(initialize):确定循环变量的初始值,只在循环开始时执行一次。
  • 条件表达式(test):每轮循环开始时,都要执行这个条件表达式,只有值为真,才 继续进行循环。
  • 递增表达式(increment):每轮循环的最后一个操作,通常用来递增循环变量
    eg:
for(i=0;i<3;i++){
	consonle.log(i)
}
打印内容: 0 1 2

for语句的三个部分(initialize、test、increment),可以省略任何一个,也可以全部省略,不过贸然省略会导致无线循环

6.3、do...while循环

do {
  语句
} while (条件);
/*while后必须带分号*/

先运行一次循环体,然后判断循环条件。不管条件是否为真,do...while循环至少运行一次

6.4、break 语句和 continue 语句

  • break: 跳出代码块或循环
  • continue:立即终止本轮循环,返回循环结构的头部
    eg:
var i = 0;
while (i < 100){
  i++;
  if (i % 2 === 0) continue;
  /*如果i为偶数,则直接进入下一轮循环。*/
  console.log('i 当前为:' + i);
}
  • 注意:不带参数的break语句和continue语句都影响最近的循环

6.5、label(标签)

标签(label),相当于定位符,用于跳转到程序的任意位置.通常与break语句和continue语句配合使用,跳出特定的循环

label:
	语句

eg:

//label与break配合使用
top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
	//如果break语句后面不使用标签,则只能跳出内层循环,进入 for (var j = 0; j < 3; j++){}
      if (i === 1 && j === 1) break top;
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// 1
// 2

//label与continue配合使用
top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
		//如果continue语句后面不使用标签,则只能进入下一轮的内层循环,即for (var j = 0; j < 3; j++){}
      if (i === 1 && j === 1) continue top;
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// i=2, j=0
// i=2, j=1
// i=2, j=2
//label跳出区块
foo: {
  console.log(1);
  break foo;
  console.log('本行不会输出');
}
console.log(2);
//1
//2

其他

image

posted @ 2021-11-29 17:25  失去樱桃的卡Q因  阅读(142)  评论(0)    收藏  举报