javascript 运算符

 

javascript 运算符

目录

javascript 运算符

一、算术运算符

1、自增运算符

2、自减运算符

二、比较运算符

三、赋值运算符

四、逻辑运算符

五、条件运算符

疑难解答:


 

这一节,我们来介绍JavaScript的运算符。运算符是完成一系列操作的符号,例如两个数字型数据相加用“+”,相乘用“*”等。

JavaScript的运算符按运算符类型可以分为以下5种:

  • (1)算术运算符;
  • (2)比较运算符;
  • (3)赋值运算符;
  • (4)逻辑运算符;
  • (5)条件运算符;

接下来,我们一一对其进行介绍。

 

一、算术运算符

算术运算符用于在程序中进行加、减、乘、除等运算。

JavaScript中常用的算术运算符如下:

运算符描述示例
+4+6 //返回值10
-7-2 //返回值5
*2*3 //返回值6
/12/3 //返回值4
%求余7%4 //返回值3
++自增见下面
--自减见下面

初学者注意一下,在JavaScript中,除号不是“÷”,而是“/”,别傻乎乎地用错了。

1、自增运算符

“++”是自增运算符,它指的是在原来值的基础上加1,i++表示“i=i+1”。该运算符有2种情况:

(1)i++

“i++”指的是在使用i之后,使i的值加1。

举例:

i=1;
j=i++;

上面执行的结果:j的值为1,i的值为2。

其实上面代码等价于下面这一段代码:

i=1;
j=i;
i++;

(2)++i

“++i”指的是在使用i之前,先使i的值加1。

举例:

i=1;
j=++i;

上面的执行结果:j的值为2,i的值为2。

其实上面代码等价于下面这一段代码:

i=1;
i++;
j=i;

2、自减运算符

“--”是自减运算符,它指的是在原来值的基础上减1,i--表示“i=i-1”。该运算符同样有2种情况:

(1)i--

(2)--i

举例:

i=6;j=i--;//j的值为6,i的值为5
i=6;j=--i;//j的值为5,i的值为5

举例:JavaScript算术运算符

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title><script type="text/javascript">var n1=6,n2=7;var m1=n1+n2;var m2=n1*n2;var m3=n1++;var m4=--n2;document.write("m1="+m1+"<br/>");document.write("m2="+m2+"<br/>");document.write("m3="+m3+"<br/>");document.write("m4="+m4+"<br/>");</script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

b6d7e594e90349368019aab03ca6db2c.png

二、比较运算符

比较运算符的基本操作过程是:首先对操作数进行比较,该操作数可以是数字也可以是字符串,然后返回一个布尔值true或false。

运算符描述示例
<小于1<4 //返回true
>大于2>5 //返回false
<=小于等于8<=8 //返回true
>=大于等于3>=5 //返回false
==是否等于5==6 //返回false
!=是否不等于5!=6 //返回true

在此说明一点,如果比较m和n两个变量是否相等,“m=n”这是错误的,因为“=”表示赋值运算符(我们接下来会讲到),应该写成“m==n”。

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title><script type="text/javascript">var age=12;document.write("age>20:"+(age>20)+"<br/>");document.write("age<20:"+(age<20)+"<br/>");document.write("age!=20:"+(age!=20)+"<br/>");document.write("age<=20:"+(age<=20)+"<br/>");</script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

07a445fccc8f41f5a6b2b720fe08c6aa.png

分析:“<br/>”表示换行,当然也可以使用转义字符“\n”来实现,只不过前一个是使用HTML标签实现,后面一个使用转义字符实现。

 

三、赋值运算符

JavaScript中的赋值运算可以分为2种:简单赋值运算和复合赋值运算。

简单赋值运算是将赋值运算符(=)右边表达式的值保存到左边的变量中。

复合赋值运算结合了其他操作(如算术运算操作)和赋值操作。

举例:

sum=sum+i;//简单赋值运算;
sum+=i;//复合赋值运算,等价于sum=sum+i;
运算符示例
=author="helicopter"
+=a+=b等价于a=a+b
-=a-=b等价于a=a-b
*=a*=b等价于a=a*b
/=a/=b等价于a=a/b
%=a%=b等价于a=a%b
&=a&=b等价于a=a&b(&是逻辑与运算)
|=a|=b等价于a=a|b(|是逻辑或运算)
^=a^=b等价于a=a^b(^是逻辑异或运算)

对于最后3个,平常不经常用,忽略掉算了。

 

四、逻辑运算符

逻辑运算符通常用于执行布尔运算,它们常常和比较运算符一起使用来表示复杂比较运算,这些运算涉及的变量通常不止一个,而且常用于if、while和for语句中。

运算符描述示例
&&逻辑与,若两边表达式的值都为true,则返回true;任意一个值为false,则返回false(8>5)&&(4<6),返回true;(8<5)&&(4<6),返回false
||逻辑或,只有表达式的值都为false,才返回false,其他情况返回true(8<5)||(4<6),返回true;(8<5)&&(4>6),返回false
!逻辑非,若表达式的值为true,则返回false;若表达式的值为false,则返回true!(9>2),返回false;!(9<2),返回true

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title><script type="text/javascript">document.write((8 > 5) && (4 < 6)+"<br>");document.write((8 < 5) || (4 < 6)+"<br>");document.write(!(9 > 2));</script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

a28631da8c9e43a9b3959f8431806962.png

总结:

(1)true的!为false,false的!为true;

(2)a&&b,a、b全为true时,表达式为true,否则表达式为false;

(3)a||b:a、b全为false时,表达式为false,否则表达式为true;

大家好好琢磨和理解一下,这是比较基础的东西喔。

 

五、条件运算符

条件运算符是JavaScript支持的一种特殊的运算符。

语法:

条件 ? 表达式1 : 表达式2;

说明:如果“条件”为true,则表达式的值使用“表达式1”的值;如果“条件”为false,则表达式的值使用“表达式2”的值。

例如:

(x>y)?4*3:5

分析:如果x的值大于y的值,则上面整个表达式最终的值为“12(由4*3得到)”;如果x的值小于或等于y的值,则上面整个表达式最终的值为“5”。

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title><script type="text/javascript">var a=3;var b=5var c=(a<b)? "正确":"错误";document.write(c);</script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

d58ee022d12140e7b11b9a671675c6cb.png

这一节还是比较简单的,大家好好看看就懂了。

 

疑难解答:

1、比较运算符“= =”与赋值运算符“=”的不同之处在于什么地方?

在各种运算符中,比较运算符“= =”与赋值运算符“=”是完全不同的。比较运算符“= =”用于比较两个操作数的值是否相等,并且返回true或false;而赋值运算符“=”用于给操作数赋值。

如果在需要比较两个表达式的值是否相等的情况下,错误的使用赋值运算符“=”,则会将右操作数的值赋给左操作数。

对于比较运算符“= =”与赋值运算符“=”,初学者很容易用混,大家得仔细区分一下。

 

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

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

相关文章

常用连接池的使用(jdbc)java 连接数据库

C3P0 导入依赖 <!-- https://mvnrepository.com/artifact/c3p0/c3p0 --><dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version></dependency><!-- https://mvnrepository.c…

Rocket架构

NameServer&#xff1a;作为注册中心&#xff0c;提供路由注册、路由踢出、路由发现功能&#xff0c;舍弃强一致&#xff0c;保证高可用&#xff0c;集群中各个节点不会实时通讯&#xff0c;其中一个节点下线之后&#xff0c;会提供另外一个节点保证路由功能。 Rocket mq name…

基于Python获取亚马逊的评论信息的处理

文章目录 一、分析亚马逊的评论请求二、获取亚马逊评论的内容三、亚马逊评论信息的处理四、代码整合4.1 代理设置4.2 while循环翻页 总结关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具…

力扣hot100 和为 K 的子数组 前缀和

&#x1f468;‍&#x1f3eb; 题目地址 &#x1f37b; AC code class Solution {public int subarraySum(int[] nums, int k){int ans 0;int n nums.length;int[] s new int[n 1];// 前缀和s[0] 0;s[1] nums[0];for (int i 2; i < n; i)s[i] s[i - 1] nums[i - 1…

函数重载记录

重载 函数重载&#xff08;Function Overloading&#xff09;是指在同一作用域内&#xff0c;可以定义多个名称相同但参数列表&#xff08;参数类型、参数个数或参数顺序&#xff09;不同的函数。编译器会根据调用时提供的参数类型和个数来判断应该调用哪个函数。 条件 函数…

C#-基础及扩展合集(持续更新)

一、基础 Ⅰ 关键字 1、record record&#xff08;记录&#xff09;&#xff0c;编译器会在后台创建一个类。支持类似于结构的值定义&#xff0c;但被实现为一个类&#xff0c;方便创建不可变类型&#xff0c;成员在初始化后不能再被改变 &#xff08;C#9新增&#xff09; …

七牛云1024创建节-赛后有感

距离比赛结束已经过去快半个月时间&#xff0c;七牛云又发起了有奖征文的活动&#xff0c;正好借此机会记录一下自己参加这次比赛的经历&#xff0c;感受和一些比赛的心得。 如何了解到的比赛信息 其实我很早就开始关注七牛云了&#xff0c;最早是在今年二三月的时候&#xf…

JavaScript的输入和输出介绍与说明

JavaScript的输入和输出介绍与说明 概述 JavaScript 作为一种编程语言&#xff0c;其核心规范&#xff08;ECMAScript&#xff09;不直接提供输入和输出功能&#xff0c;或者说其核心规范&#xff08;ECMAScript部分&#xff09;不包含处理输入和输出的内置机制&#xff0c;在…

PostgreSQL + SQL Server = WiltonDB

WiltonDB 是一个基于 PostgreSQL 的开源数据库&#xff0c;通过 Babelfish 插件支持 Microsoft SQL Server 协议以及 T-SQL 语句。 Babelfish 是亚马逊提供的一个开源项目&#xff0c;使得 PostgreSQL 数据库同时具有 Microsoft SQL Server 数据查询和处理的能力。Babelfish 可…

如何提高学生的课堂参与度

提高学生的课堂参与度是让许多教师头疼的问题。不过通过采取一些简单的方法&#xff0c;就可以让学生更积极的参与课堂活动。那么&#xff0c;这些方法是什么呢&#xff1f; 激发学生的兴趣 学生如果对课堂内容感兴趣&#xff0c;他们就会更加积极地参与其中。教师可以通过使用…

详解Java中的泛型(泛型的语法,擦除机制,泛型的上界)

目录 一.什么是泛型 二.Java中为什么要使用泛型 三.泛型的语法 四.泛型类的使用 五.泛型的编译机制&#xff08;擦除机制&#xff09; 六.泛型的上界 一.什么是泛型 泛型&#xff08;Generics&#xff09;是Java SE 5中引入的一个新特性&#xff0c;可以使Java中的类和方…

联邦学习Federated Learning(FL)

联邦学习Federated Learning 序言FL流程细节FL代码实现&#xff08;Pytorch&#xff09;Reference 序言 手机的数据涉及到个人隐私和安全&#xff0c;如果将客户端的数据上传到服务端&#xff0c;终究是很容易泄漏出用户的信息&#xff0c;何况 用户也不愿意把自己的数据交给服…

Java基础小结

Java 基础小结 Java 基础概念与常识 什么是 Java ? Java 是 1995 年由 sun 公司推出的一门高级语言。 Java 的四个基本特性是面向对象、平台无关性、安全性和简单性。 具体特点如下: 简单易学。 平台无关性。 面向对象 面向对象是一种程序设计技术&#xff0c;以木匠工…

[C++]六大默认成员函数详解

☃️个人主页&#xff1a;fighting小泽 &#x1f338;作者简介&#xff1a;目前正在学习C和Linux &#x1f33c;博客专栏&#xff1a;C入门 &#x1f3f5;️欢迎关注&#xff1a;评论&#x1f44a;&#x1f3fb;点赞&#x1f44d;&#x1f3fb;留言&#x1f4aa;&#x1f3fb; …

西南科技大学数字电子技术实验一(数字信号基本参数与逻辑门电路功能测试及FPGA 实现 )预习报告

手写报告稍微认真点写,80+随便有 目录 一、计算/设计过程 1、通过虚拟示波器观察和测量信号 2、通过实际电路(电阻、开关、发光二极管)模拟逻辑门电路 二、画出并填写实验指导书上的预表

数字IC芯片验证流程及验证工具推荐?收藏专用

验证其实是一个“证伪”的过程&#xff0c;从流程到工具&#xff0c;验证工程师的终极目的都只有一个&#xff1a; 发现所有BUG&#xff0c;或者证明没有BUG&#xff0c;以保证芯片功能性能的正确性和可靠性。 验证环节对于一颗芯片的重要性也是不言而喻的&#xff1a; 从项…

第四十三天|1049. 最后一块石头的重量 II 494. 目标和 474. 一和零

1049. 最后一块石头的重量 II 其实还是尽量把背包装满 class Solution { public:int lastStoneWeightII(vector<int>& stones) {int sum0;for(int a:stones){suma;}int targetsum/2;vector<int> dp(target1,0);for(int i0;i<stones.size();i){for(int jta…

数据结构 | 排序

插入排序 直接插入排序&#xff08;空间复杂度为1&#xff0c;排序后稳定&#xff09; 思路&#xff1a; 在待排序的元素中&#xff0c;假设前n-1个元素已有序&#xff0c;现将第n个元素插入到前面已经排好的序列中&#xff0c;使得前n个元素有序。按照此法对所有元素进行插入&…

【华为OD】B\C卷真题 100%通过:找城市 多叉树实现 python源码

【华为OD】B\C卷真题 100%通过:找城市 多叉树实现 python源码 目录 题目描述&#xff1a; 示例1 示例2 解题思路&#xff1a; 代码实现&#xff1a; 题目描述&#xff1a; 一张地图上有n个城市&#xff0c;城市和城市之间有且只有一条道路相连&#xff1a;要么直接相连&…

快速排序算法,这么写打败95%的程序员

1960年&#xff0c;英国计算机科学家霍尔提出了一种高效的排序算法——快速排序。其核心思想是选定一个基准元素&#xff0c;将需排序的数组分割成两部分。其中一部分都比基准元素小&#xff0c;另一部分都比基准元素大。接着对这两部分分别进行快速排序&#xff0c;最后通过递…