JavaScript基础语法-学习笔记

在这里插入图片描述

1 语句

在JavaScript中,每个语句(statement)以分号结尾;若分号前无内容,则会被视为空语句

2 变量

  1. 声明变量使用的var关键字。

  2. 在JavaScript中,变量名是区分大小写的。

  3. 若只声明变量而没有为其赋值,则该变量的值为undefined,表示“无定义”。

  4. 若变量既没有声明也没有赋值,则会报错。

  5. 可以同时声明多个变量,例如:var a, b, c;

  6. 若使用var重新声明一个已存在的变量,则第二次声明是无效的;但若同时被赋了新值,则会覆盖掉前面的值。

  7. 若没有声明变量直接赋值,虽然语句也是有效的,但是却创建了一个全局变量,建议使用var关键字进行变量的创建。

  8. JavaScript是一种动态类型语言,变量类型没有限制,变量可以随时更改类型

    var a=1;
    a="hello";//第二次赋值不需要使用var关键字
    
  9. JavaScript引擎工作方式:先解析代码,在获取所有被声明的变量后再逐行运行。因此所有变量的声明语句,都会被提升到代码的头部,这被称为变量提升(hoisting)。举个例子

    console.log(a);
    var a=1;
    

    上面的代码并不会报错,因为实际运行代码为:

    var a;
    console.log(a);
    a=1;
    

    显然输出结果为:undefined

3 标识符

常见的标识符(identifier)有:变量名函数名

标识符的命名规则:

  1. 第一个字符:可以是任意Unicode字母、美元符号($)和下划线(_);
  2. 第二个字符及后面的字符,除了上述三种类型以外,还可以是数字(0-9);

JavaScript还有一些保留字,不能用作标识符:argumentsbreakcasecatchclassconstcontinuedebuggerdefaultdeletedoelseenumevalexportextendsfalsefinallyforfunctionifimplementsimportininstanceofinterfaceletnewnullpackageprivateprotectedpublicreturnstaticsuperswitchthisthrowtruetrytypeofvarvoidwhilewithyield

4 注释

单行注释:用//开头;多行注释:/*... */

5 区块

我们通常使用大括号将多个相关语句组合在一起,并称之为区块(block)。

对于var命令来说,JavaScript区块不构成单独的作用域(scope),我们在代码区块中定义并赋值的变量,在区块外部依然有效,可以直接使用。

{
    var a =1;
}

a //这里a的值为1

在JavaScript中很少单独使用区块,区块往往用来构成其他更复杂的语法结构,例如forifwhilefunction等。

6 条件语句

6.1 if结构

语法如下:布尔值往往由一个表达式产生的,必须放于圆括号中。

if(布尔值)
    语句;//也可以写在一行

6.2 if…else结构

if(布尔值){
    //满足条件时执行的代码
}else{
    //不满足条件时执行的代码
}

若对同一变量进行多次判断,多个if…else语句可以连写在一起:

注意:else代码块总是与离自己最近的那个if语句配对,最好利用大括号将结构写明确。

if (条件判断1) {
  // ...
} else if (条件判断2) {
  // ...
} else if (条件判断3) {
  // ...
} else {
  // ...
}

6.3 三元运算符

语法:(条件) ? 表达式1 : 表达式2,若为真则返回表达式1的值,否则返回表达式2的值。这个三元运算符可以被视为if...else...的简写形式。
举例:三元运算符可以用于输出相应提示。

var msg = '数字' + n + '是' + (n % 2 === 0 ? '偶数' : '奇数');

6.4 switch结构

当多个if...else连在一起使用时,则更推荐使用switch结构。如下所示:根据变量的值执行相应的case,当所有case都不符合时,则会执行最后的default部分。

注意:这里switch后的变量和case的值在比较时执行的是严格相等运算符===),并不是相等运算符(==),这就意味着不会发生类型转换,例如1和true比较,1并不会转为true。关于相等运算符的内容详见JavaScript运算符-学习笔记一文中的比较运算符一节的总结。

switch(变量){
    case "值1":
        //...
        break;
    case "值2":
        //...
        break;
    ...
    default:
    	//...
}

每个case代码块内部的break语句不能少,否则会接着执行下一个case代码块,而并不是跳出switch结构。

7 循环语句

7.1 while循环

While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。

while (条件){
    语句;//简单句子可以省略大括号,甚至写一行也可以
}

7.2 for循环

for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。

注意:若将初始表达式条件递增/减表达式三部分都省略,则会导致无限循环。

for (初始化表达式; 条件; 递增/减表达式) {
  语句
}

7.3 do…while循环

do...while循环与while循环类似,唯一的区别就是会先运行一次循环体,然后判断循环条件。

注意:while语句后面的分号注意不要省略。

do {
  语句
} while (条件);

7.4 跳出循环

break语句用于跳出代码块或循环

continue语句会立即终止本轮循环,返回循环结构的头部,开始下一轮循环

注意:若存在多重循环,则不带标签break语句和continue语句都只是针对最内层循环的

7.5 特定跳转

语句前面的标签(label)可以当作定位符,用于标识程序的跳转的特定位置可用于跳出循环或代码块

如下代码所示:break后加了top标签,满足条件时,直接跳出双层循环至标签top

注:breakcontinue后都可以加标签进行特定跳转。

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);
   	}
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值