自学内容网 自学内容网

【H2O2|全栈】JS入门知识(二)

目录

JS

前言

准备工作

运算符

算数运算符

比较运算符

自增、自减运算符

逻辑运算符

运算符的优先级

分支语句

if-else语句

switch语句

三元表达式

结束语


JS

前言

本系列博客主要分享JavaScript的基础语法知识,本期为第二期,包含一些简单的js语法,以及一道js的面试题。

叠甲:非专业,仅参考。

准备工作

软件:【参考版本】Visual Studio Code

插件(扩展包):Open in browser, Live Preview, Live Server

浏览器版本:Chrome

系统版本: Win10/11/其他非Windows版本

*我的电脑是Win10的版本,仅供参考*

运算符

算数运算符

JS提供了一些常用的运算符号,与算数中的运算符一一对应,所以又叫算数运算符

常见的算数运算符如下:

符号含义
+加法
-减法
*乘法
/除法(除以)
%取余
&与运算(布尔值转化为0/1)
|或运算(布尔值转化为0/1)

比较运算符

JS中,我们常常会遇到一些大小或者属性不一致的值需要比较,这个时候就需要用到我们的比较运算符

常见的比较运算符如下: 

符号含义
==  !=比较两者的值是否一致
===  !==比较两者的类型、值是否都一致
>=  >  <=  <比较两者的值之间的大小关系

自增、自减运算符

如果我们想让一个数字的值在原来的基础上加一,常规的方式是:

a = a + 1

上面的代码实质上实现了运算赋值两个功能。 

想要同时实现这两个功能,我们还可以用自增的方式,自增的方式分为两种:

  • 前自增        ++a
  • 后自增        a++

对于前自增,实际上的操作为先进行+1运算,再参与后续运算,即先赋值,再计算。 

而后自增则是先计算,再赋值。

案例

比如,我现在有下面这个这段代码:

var a = 10, b = 16
let c = a++ + ++b + b++
alert(c)

那么,输出的值应当是多少呢?

分析题目,在赋值式中,第一步是a++,所以参与运算的是10,而a在这里变成了11。

第二步是++b,所以这里是b先变成了17,然后让17参与运算,所以这里的计算变为10 + 17。

第三步是b++,参与运算的是17,然后b变成了18,所以这里的计算变为10 + 17 + 17。

因此,输出的值应当是44。

逻辑运算符

在进行真值判定运算的时候,我们经常需要涉及到逻辑运算符的使用。

常见的逻辑运算符有下面三种:

符号含义
&&(短路)与
||(短路)或

在多个使用  &&  相连的判定语句中,只要有一个条件的真值为false,则整个式子的值就是false。

而在多个使用  ||  相连的判定语句中,只要有一个条件的真值为true,则整个式子的值就是true。

如果式子中同时出现  &&  运算和  ||  运算,则优先计算  &&  的结果。

在使用 !的式子中,如果式子为true,则取反,即整体输出为false。

案例

比如,我们需要判断一个数字是否在1和10之间,那么就需要用到下面的式子:

var a = 6
var b = a > 1 && a < 10
alert(b)

那么,输出的值是多少呢?

显然,a同时满足大于1和小于10两个条件,因此输出的值应当是true。

运算符的优先级

在使用运算符计算时,显然存在计算的先后顺序,即存在运算符之间的优先级。 

优先级自上而下排列为:

优先级运算符注释
1()小括号
2++  -- 自增运算符
3*  /  +  -算数运算符
4>  >=  <  <=大小比较运算符
5==  !=  ===  !==值、类型/值比较运算符
6&&逻辑与
7||逻辑或
8!逻辑非
9=赋值
10,逗号

分支语句

if-else语句

该语句的中文释义为如果……就……否则,用于判断是否满足某种条件,并执行相应条件下的代码。

该语句的标准代码格式如下:

if (判断条件1) {
    执行语句1
} else if (判断条件n) {
    执行语句n
} else {
    不满足上述条件时才执行的代码
}

如果只需要判定一个条件是否满足,则不需要用到 else if 语句。

如果需要判定多个条件执行对应的代码,则可以使用多组else if语句。

案例

比如,我们需要判断一个学生的成绩等级,分为90及以上的、60到89分的和60分以下的三个等级,使用if语句来实现:

var sc = +prompt("请输入分数")

if (sc >= 90) {
    alert("优秀")
}  else if (sc >= 60 && sc < 90) {
    alert("及格")
} else {
    alert("不及格")
}

switch语句

如果我们的判断条件为一个一个单独的数值(枚举类型),而不是一段一段的区间,则可以使用switch语句来操作。

该语句的标准代码如下:

switch(参数值) {
    case 参数值1:
        执行语句1
        break
    case 参数值n:
        执行语句n
        break
    default:
        所有条件都不符合时执行的语句
}

如果参数值较少,则使用if语句会更加方便。 

break的作用是结束当前的执行语句,否则程序会一直执行,直到下一个break语句或者default。

案例

输入年份和月份,输出这个月有多少天。 

分析:首先,我们需要获取月份,输出这个月对应的天数;

但是,2月是比较特殊的,所以获取的年份信息需要在月份为2月时提供闰年的判定。

JS代码如下:

var year = +prompt("请输入年份");
var month = +prompt("请输入月份")
switch (month) {
    case 1,3,5,7,8,10,12:
        alert(year + "年的" + month + "月有31天");
        break;
    case 4,6,9,11:
        alert(year + "年的" + month + "月有30天");
        break;
    case 2:
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            alert(year + "年的" + month + "月有29天");
        } else {
            alert(year + "年的" + month + "月有28天");
        }
        break;
    default:
        alert("输入错误");
        break;
}

三元表达式

如果只有两种情况,除了使用if语句之外,还有一种更加简洁的方式——三元运算符表达式

标准的三元运算符表达式如下:

判断条件 ? 条件为真执行的语句 : 条件为假执行的语句

案例

比如,如果想要输出两个数的最大值,可以使用下面的代码:

var a = 3, b = 5
let c = a > b ? a : b

结束语

本期的内容到这里就结束了,主要是js的运算符、分支语句和表达式等内容。在后续的本系列博客中,我会继续更新js的基础语法知识,并适当地配合上一些案例。

在全栈领域,博主也只不过是一个普通的萌新而已。本系列的博客主要是记录一下自己学习的一些经历,然后把自己领悟到的一些东西总结一下,分享给大家。

文章全篇的操作过程都是笔者亲自操作完成的,一些定义性的文字加入了笔者自己的很多理解在里面,所以仅供参考。如果有说的不对的地方,还请谅解。

==期待与你在下一期博客中再次相遇==

——还在漏气的【H2O2】


原文地址:https://blog.csdn.net/ZC13786305863/article/details/142974945

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!