JavaScript的第二天

目录

一、运算符类型

        1、算术运算符

         2、前置递增递减运算符:先递增/递减,再返回值

        3、后置递增递减运算符:先返回值,再递增递减

        4、比较运算符:进行判断返回true和false值

        

        5、逻辑运算符:与,或,非

                (1)与:&&(两边的条件都得为true才能返回true)

                (2)或:||(两边条件中,单边条件为true即可返回true)

                        (3)非:!(取返回值的相反值进行输出)

        6、赋值运算符:将常量、变量或表达式的值赋给某一个变量,它将运算符右边的值通过运算赋给左边的变量

二、运算符的优先级

三、if 分支 / 双分支 / 多分支 判断语句

        1、语法结构

        

        2、执行思路

       

         3、一些注意

四、switch分支语句:多分支语句,可以实现精准多选1

        1、语法结构

        2、执行思路

       

        3、注意

五、三元表达式:有三元运算符组成的式子

        1、语法结构:

        2、数字补零案例

由数字,运算符,变量等组成的式子被称为表达式,在程序内进行运算时和一般的数学运算逻辑相反,在程序中运算结果被称为返回值,而运算逻辑为 返回值=表达式

var a=5;
var b=6;
var c=a+b;console.log(c);
//输出结果为11

一、运算符类型

        1、算术运算符

+
-
*
/
%取余

        在进行算数运算符时,使用浮点数进行运算会导致运算出现问题,且不能直接将浮点数进行比较是否相等。

         2、前置递增递减运算符:先递增/递减,再返回值

                在进行前置递增递减运算时需要和后置进行区分,返回值和变量分为两个部分,先对变量进行递增或递减,后续再返回已经进行运算的变量。

var a=5;    //赋a为5// ++a :a=a+1 ++a    //对a进行前置递增,此时须知a的返回值为6,该运算后a的值为6
console.log(a)    //此时控制台输出的a为6
console.log(++a)    //a=6时再次前置递增,返回值为7,该次运算后a的值为7var b=5;    //赋b为5// --b :b=b-1 --b    //对b进行前置递减,此时须知b的返回值为4,该运算后b的值为4
console.log(b)    //此时控制台输出的b为4
console.log(--b)    //b=4时再次前置递减,返回值为3,该次运算后b的值为3//重新定义a=5 b=5
var c = ++a + --a - --b + ++b;/*运算c
遵循加减乘除的运算顺序
++a运算后返回值为6,变量a为6
--a此时,a=6,运算后返回值为5,变量a为5
--b运算后返回值为4,变量b为4
++b此时,b=4,运算后返回值为5,变量b为5即该式 c=6+5-4+5c=12*/

        3、后置递增递减运算符:先返回值,再递增递减

                在进行后置递增递减运算时需要和前置进行区分,返回值和变量分为两个部分,先返回变量本身的值,再对变量进行递增递减。

var a=5;    //赋a为5// a++ :a=a+1 a++    //对a进行后置递增,此时须知a的返回值为5,该运算后a的值为6
console.log(a)    //此时控制台输出的a为6
console.log(a++)    //a=6时再次后置递增,返回值为6,该次运算后a的值为7var b=5;    //赋b为5// b-- :b=b-1 b--    //对b进行后置递减,此时须知b的返回值为5,该运算后b的值为4
console.log(b)    //此时控制台输出的b为4
console.log(b--)    //b=4时再次后置递减,返回值为4,该次运算后b的值为3//重新定义a=5 b=5
var c = a++ + a-- - b-- + b++;/*运算c
遵循加减乘除的运算顺序
a++运算后返回值为5,变量a为6
a--此时,a=6,运算后返回值为6,变量a为5
b--运算后返回值为5,变量b为4
b++此时,b=4,运算后返回值为4,变量b为5即该式 c=5+6-5+4c=10*/

        4、比较运算符:进行判断返回true和false值

>大于
<小于
>=大于等于
<=小于等于
==相等,需满足值相等,相等为true,不相等为false
===全等,需值和数据类型都相等,相等为true,不相等为false
!=

不相等,需满足值相等,当两边值相等时,取返回值的相反值

!==不全等,需值和数据类型都相等,当两边值相等时,取返回值的相反值
        console.log(3 > 6);//返回值为falseconsole.log(3 <= 6);//返回值为trueconsole.log(5 > 8);//返回值为falseconsole.log(5 >= 8);//返回值为falseconsole.log(5 == "5");//返回值为trueconsole.log(5 === "5");//返回值为falseconsole.log(!true);//返回值为falseconsole.log(5 != "5");//返回值为falseconsole.log(5 !== "5");//返回值为true

        

        5、逻辑运算符:与,或,非

                (1)与:&&(两边的条件都得为true才能返回true
    console.log(5 > 7 && 5 < 7);//        false  &&  true //运算符前含有false,输出的返回值为falseconsole.log(4 < 7 && 5 < 7); //          true  &&  true//运算符前后都含有true,输出的返回值为trueconsole.log(5 > 7 && 4 > 7); //        false  &&  false//运算符前后都为false,输出的返回值为falseconsole.log(5 < 7 && 5 > 7); //        true   &&  false//运算符后含有false,输出的返回值为false

                (2)或:||(两边条件中,单边条件为true即可返回true)
    console.log(5 > 7 || 5 < 7);//        false  ||  true //运算符后含有true,输出的返回值为trueconsole.log(4 < 7 || 5 < 7); //          true  ||  true//运算符前后都含有true,输出的返回值为trueconsole.log(5 > 7 || 4 > 7); //        false   ||  false//运算符前后都为false,输出的返回值为falseconsole.log(5 < 7 || 5 > 7); //         true   ||  false//运算符前含有true,输出的返回值为true

                        (3)非:!(取返回值的相反值进行输出)
    console.log(!(3 < 8));//(3<8)输出的值为true,使用 !运算符取返回值的相反值false//该等式输出false 

在逻辑运算符内存在一种短路运算情况:

在条件表达式中,当某个操作的结果已经足以确定整个表达式的值时,后续的操作就不再执行的一种计算策略,这种特性通常出现在逻辑运算符如 "&&“(与)和”||"(或) 中。

在这种情况下当 的第一个条件判断完成,如果为false时后续的判断将不会进行,并直接输出false。

类似的情况在 中也有体现,当有某个条件达成true时,后续条件不再判断而是直接输出true。

在形成短路运算之前的运算都是正常进行,直到触发短路运算,并打断运算的判断。在编程中,短路运算可以提高效率,尤其是在处理大量数据或者复杂的条件判断时,是一种对于代码的优化手段。

        6、赋值运算符:将常量、变量或表达式的值赋给某一个变量,它将运算符右边的值通过运算赋给左边的变量

=赋值
+=加等于
-=减等于
*=乘等于
/=除等于
%=模等于
var a = 3;
var b = 2;a+=b    //a =5; b = 2a-=b    //a = 1;b = 2a*=b    //a = 6;b = 2;a/=b    //a = 1;b = 2;a%=b    //a = 1;b = 2;

二、运算符的优先级

        在进行程序运算时应注意运算符的优先级,优先级高的先运算:

三、if 分支 / 双分支 / 多分支 判断语句

        1、语法结构

//if分支语句if (条件表达式){执行语句}//if双分支语句if (条件表达式) {执行语句1} else {执行语句2}//if多分支语句if (条件表达式1) {    语句1;    } else if (条件表达式2) {    语句2;    } else if (条件表达式2) {    语句2;    } else(条件表达式2) {    语句2;    } 

        

        2、执行思路

        在进入if判断语句时,判断条件是否符合条件表达式的内容,输出一个boolean值,当值为true时进入该条件下的执行语句,false时跳过该条件的执行进入下一个判断语句。

       

         3、一些注意

                (1)if语句为判断语句,而不是循环语句,所以该语句最终只有一个条件能被满足,且 只能执行一个语句。

                (2)当所有条件不满足时,执行最后一个else中的语句。

                (3)else理论上可以任意多个

四、switch分支语句:多分支语句,可以实现精准多选1

        1、语法结构

    switch (表达式){case value1:执行语句1;break;case value2:执行语句2;break;...default:执行最后的语句;}

        2、执行思路

                利用我们的表达式的值 和 case 后面的选项值相匹配,如果匹配上,就执行该case里面的语句。        

                如果都没有匹配上,那么执行 default里面的语句

       

        3、注意

                (1)break是为了终止执行语句的输出,在case选择中必须添加

                (2)switch主要是具体数值的选择,区别于if语句的范围选择

                (3)因为具体选择的情况,所以switch后只需要填入所要进行选择的变量名即可

                (4)case的判断条件为全等,即值和数据类型必须一致才可以

        

五、三元表达式:有三元运算符组成的式子

        1、语法结构:

                通过判断条件表达式,如果条件表达式结果为真则返回表达式1的值,如果条件表达式结果为假则返回表达式2的值(两个表达式由冒号隔开)

条件表达式 ? 表达式1 : 表达式2var a=3;
var b=4;
a+b>10 ?   a=5 : a=7

        2、数字补零案例

        

        //  用户输入0~59之间的一个数字// 如果数字小于10,则在这个数字前面补0,(加0 拼接) 否则  不做操作// 用一个变量接受这个返回值,输出// 三元表达式   表达式 ? 表达式1 :表达式2 var a = +prompt("请输入一个值")a =     a >= 10 ?     a     :     "0" + a//该行代码表达为,判断a的大小后去选择输出表达式1或2来作为需要返回的a的值//使用if循环也可以进行操作// if (a < 10) {//     a = "0" + a// }console.log(a);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/452246.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

antd vue 输入框高亮设置关键字

<highlight-textareaplaceholder"请输入主诉"type"textarea"v-model"formModel.mainSuit":highlightKey"schema.componentProps.highlightKey"></highlight-textarea> 参考链接原生input&#xff0c;textarea demo地址 …

Mapbox GL 加载GeoServer底图服务器的WMS source

貌似加载有点慢啊&#xff01;&#xff01; 1 这是底图 2 这是加载geoserver中的地图效果 3源码 3.1 geoserver中的网络请求 http://192.168.10.10:8080/geoserver/ne/wms?SERVICEWMS&VERSION1.1.1&REQUESTGetMap&formatimage/png&TRANSPARENTtrue&STYL…

Ubuntu20.04TLS 连接JBL蓝牙音响连接上却没有播放声音。

第一步&#xff0c;重启蓝牙服务 sudo systemctl restart bluetooth第二步&#xff0c;蓝牙重新连接蓝牙音响。如果已经有声音&#xff0c;那说明需要连接蓝牙的重新加载一下设备。 第三步&#xff0c;如果第二部成功了之后&#xff0c;继续下面操作&#xff0c;如果不成功&a…

【4046倍频电路】2022-5-15

缘由这个频率倍频电路应该调哪个元件呢-嵌入式-CSDN问答

C语言刷题 LeetCode 删除单链表的重复节点 双指针法

题目要求 链表结构&#xff1a;题目中提到的是未排序的链表&#xff0c;链表是由一系列节点组成的&#xff0c;每个节点包含一个值&#xff08;数据&#xff09;和一个指向下一个节点的指针。去重&#xff1a;我们需要遍历链表&#xff0c;删除所有重复的节点&#xff0c;只保…

点亮一个LED(51)

目录 1.LED介绍 2.硬件电路 3.程序设计 3.1.点亮一颗LED 3.2.LED闪烁 3.3.LED流水灯实现 1.LED介绍 发光二极管也具有二极管普遍的特性单向导电性&#xff0c;有阳极和阴极之分 &#xff0c;上图左侧式插件式LED &#xff0c;长的引脚是阳极&#xff1b;左侧是贴片式的带…

基于FPGA的以太网设计(六)

前面分别实现了ARP协议和ICMP协议&#xff0c;但这俩协议都不能进行数据的传输&#xff0c;如果想要用以太网传输数据的话还需要实现UDP协议或者TCP协议&#xff0c;关于二者的差别主要包括以下几点&#xff1a; 1.连接性 TCP是面向连接的协议&#xff0c;它在传输数据之前需…

UICollectionView 的UICollectionReusableView复用 IOS18报错问题记录

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath 方法复用报错 报错详情&#xff1a; Terminating app due to uncaught exception NSInternal…

Star Tower:智能合约的安全基石与未来引领者

在区块链技术的快速发展中&#xff0c;智能合约作为新兴的应用形式&#xff0c;正逐渐成为区块链领域的重要组成部分。然而&#xff0c;智能合约的可靠性问题一直是用户最为关心的焦点之一。为此&#xff0c;Star Tower以其强大的技术实力和全面的安全保障措施&#xff0c;为智…

win10下带参执行.exe的几种方法

0 工具准备 vscode&#xff0c;编辑C代码 Code Runner插件&#xff0c;用于生成exe1 生成支持带参处理的.exe C源码如下&#xff1a; #include "stdio.h" #include <stdlib.h>int main(int argc, char *argv[]) {int i;printf("argc : %d\r\n", a…

首创VMware vCenter 8.0U3b 无DNS部署秘籍

哈喽大家好,欢迎来到虚拟化时代君(XNHCYL)。 “ 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…(每天更新不间断,福利不见不散) 第一章、小叙 今天介绍下VMware vCenter 8.0u3b 无DNS部署教…

manjaro kde 磁盘扩容

vmware wprlstatopm 搭建的manjaro kde &#xff0c;初始磁盘太小&#xff08;40G&#xff09;&#xff0c;现在想扩容磁盘空间 &#xff0c;vmware wprlstatopm已从40G调整到140g&#xff0c;manjaro kde 系统却没有变化&#xff0c;请指点manjaro kde 如何磁盘扩容 要在 Man…

【以雅特力AT32为例】CAN过滤器及其原理与邮箱配置

个人认为过滤器的本质就是对ID值&#xff08;局部or全部&#xff09;的比较。 协议层雅特力跟标准CAN略有不同&#xff0c;详见&#xff1a;【雅特力AT32】 MCU CAN入门指南&#xff08;超详细&#xff09; 协议层了解差不多&#xff0c;直接来应用编程实战就好了&#xff0c…

从一个事故中理解 Redis(几乎)所有知识点

作者&#xff1a;看破 一、简单回顾 事故回溯总结一句话&#xff1a; &#xff08;1&#xff09;因为大 KEY 调用量&#xff0c;随着白天自然流量趋势增长而增长&#xff0c;最终在业务高峰最高点期占满带宽使用 100%。 &#xfeff; &#xfeff; &#xff08;2&#xff…

mysql5.7版本用户管理(user表列信息介绍,本质,管理操作),数据库的权限管理(权限列表,权限操作)

目录 用户管理 介绍 user表 介绍 列信息 Host User *_priv authentication_string 用户管理的本质 操作 创建用户 删除用户 修改用户信息 修改密码 自己修改 root用户修改指定用户的密码 数据库的权限 权限列表 给用户授权 查看权限 回收权限 刷新权限 …

GDAL+C#实现矢量多边形转栅格

1. 开发环境测试 参考C#配置GDAL环境&#xff0c;确保GDAL能使用&#xff0c;步骤简述如下&#xff1a; 创建.NET Framework 4.7.2的控制台应用 注意&#xff1a; 项目路径中不要有中文&#xff0c;否则可能报错&#xff1a;can not find proj.db 在NuGet中安装GDAL 3.9.1和G…

【ARM】ARM中断系统详解——以Cortex-A7为例

一、Cortext-A7中断系统简介 Cortex-A7 也有中断向量表&#xff0c;内核有 8 个异常中断&#xff0c;中断向量表也是在代码的最前面。 看起来A7的中断向量表比STM32F103少很多&#xff0c;这是因为STM32F103使用的Cortex-M系列芯片&#xff0c;中断向量表列举出了一款芯片所有…

React Strict DOM:React Native 通用应用程序的未来

Meta宣布发布了 react-strict-dom。从根本上讲&#xff0c;这将改变我们使用 React Native&#xff08;以及在网页上使用 React&#xff09;的方式。它提供了一套统一的 UI 原语&#xff0c;带有样式&#xff0c;可以在网页和移动设备上通用使用&#xff01;现在&#xff0c;“…

package.json 里的 dependencies和devDependencies区别

dependencies&#xff08;依赖的意思&#xff09;&#xff1a; 通过 --save 安装&#xff0c;是需要发布到生产环境的。 比如项目中使用react&#xff0c;那么没有这个包的依赖就会报错&#xff0c;因此把依赖写入dependencies npm install <package-name>// 缩写 np…

【含文档】基于Springboot+Vue的点餐系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…