【JS】基础篇之带你走进JavaScript的运算符

news/2024/7/19 15:01:02 标签: JS, 运算符, 优先级

前言

  每一种语言都有相对应的运算符,今天我们来看一下JS中的运算符

宏观把控

  先来一张图简单了解一下JS中都有哪些运算符
在这里插入图片描述

算术运算符

  1.“+”两边的操作数不是number类型的话,做连接操作;

  2.除“+”以外的其他算术运算符,如果两边的操作数不是number类型的话,会通过Number()函数,默认进行转化,如果转化不成功,最终的运算结果是NaN。举例:

var num1 = 10;
var str1 = "15";
var str2 = "18";
var str3 = "18abc";

var r = num1 - str1;      //-5
r = str1 - str2;          //-3
r = str2 - str3;         //NaN

比较运算符

  1.运算符两端,如果有一个数是number类型的话,那么另外一个会自动通过Number()进行转换,然后在进行比较,如果转化失败,结果为false。举例:

console.log("11">10);       //true
console.log("abc">10);     //false

  2.如果运算符两端都是字符串的话,则比较每位字符的Unicode码,再决定大小,举例:

console.log("张三丰">"张无忌");       //false

  计算时,先比较“张”的Unicode码,显然是一样的,然后是“三”和“无”的Unicode码,通过"三".charCodeAt()可得出“三”是19977,“无”是26080,所以得出为false。同理得

console.log("3">"10");         //true

逻辑运算符

  这里涉及到一个短路逻辑,短路&&(当第一个表达式为假的时候,第二个表达式没有必要执行了,结果肯定是假),短路||(当第一个表达式为真的时候,第二个表达式没有必要执行了,结果肯定是真)

运算符

  1.位运算符是将数字转换成二进制后进行运算;只做整数运算,如果是小数的话,则去掉小数位再运算

  按位 与 &

  1.语法:a & b

  2.特点:将 a 和 b 先转换为二进制,按位比较,对应位置的数字都为1的话,那么该位的整体结果为1,否则就为0

  3.举例:5 & 3 结果:1

  4.使用场合:任意数字与1做按位与操作,可以判断奇偶性,结果为1,则为奇数,否则为偶数

  按位 或 |

  1.语法:a | b

  2.特点:将 a 和 b 先转换为二进制,按位比较,对应位置的数字,至少有一位为1的话,那么该位的整体结果为1,否则就为0

  3.举例:5 | 3 结果:7

  4.使用场合:任何小数与0 做 按位或 操作,可以快速转换为整数(并非四舍五入)

  按位 异或 ^

  1.语法:a ^ b

  2.特点:将a 和 b 先转换为二进制,按位比较,对应位置的数字,相同时则整体结果为0,不同时则为1

  3.举例:5 ^ 3 结果:6

  4.使用场合:快速交换两个数字(整数) a ^= b,b ^= a,a ^= b

条件运算符

  就是平常了解到的一元运算符、二元运算符、三元运算符

赋值和扩展运算符

  1.赋值运算符就是平常的=;

  2.扩展运算符就是+=、-=、^=等,如

a = a+1;

  可以写为:

a += 1;

运算符优先级

  在这里插入图片描述

总结

  这就是我们常见和常用的运算符,由这些运算符连接起来的式子就是表达式,不知道小编讲解的是否清楚,有什么疑问欢迎留言。


http://www.niftyadmin.cn/n/1659653.html

相关文章

Javascript基本语法,a-href、img-src、button按钮使用时的跳转问题

1.在<script>...</script>中进行显示&#xff1b; 2.对于返回值的问题&#xff0c;需要使用到alart()函数&#xff0c;其也存在return&#xff0c; <script> function demo(a&#xff0c;b){ if(a>b) return alart("a比较大&#xff01;");…

【JS】基础篇之带你走进JavaScript的函数

1.什么是函数 函数&#xff08;function&#xff09;是一段预定义好&#xff0c;并且可以被反复使用的代码块。 2.函数的声明 1&#xff09;普通函数 function 函数名(){语句块&#xff1b;}2&#xff09;带参函数 function 函数名&#xff08;参数列表&#xff09;{ //可以…

Javascript基本语法,与html,C 语言比较

1.在<script>...</script>中进行显示&#xff1b; 2.与C语言比较&#xff1a;a&#xff0c;当进行加减乘除运算时&#xff0c;即把C语言中“printf()”改为“document.write()”&#xff1b;b&#xff0c;当判断对错&#xff0c;用布尔类型&#xff0c;如"var…

自己总结的html+css试题

1.Doctype作用? 严格模式与混杂模式-如何触发这两种模式&#xff0c;区分它们有何意义? &#xff08;1&#xff09;<!DOCTYPE> 声明位于文档中的最前面&#xff0c;处于 <html> 标签之前。告知浏览器的解析器&#xff0c;用什么文档类型 规范来解析这个文档。 &a…

【JS】论元素的绑定和解绑事件

前言 在JS的学习过程中&#xff0c;我们会了解到DOM&#xff0c;了解到元素&#xff0c;那么如何对一个元素进行绑定事件呢&#xff1f;事件绑定完之后可不可以解绑呢&#xff1f;都有什么方法呢&#xff1f;这都是今天我们要学习的内容。 方法 方法一 功能函数绑定事件对象.…

html5中关于音频--视频的播放

关于音频的播放&#xff1a; 1,.使用audio标签&#xff0c;<audio src"1.mp3">您的播放器支持</audio>; 2,自定义播放&#xff0c;即自定义按钮终止继续&#xff1b; 代码显示如下&#xff1a; <button onclick "clickA()">播放/暂停…

双十一了,总结一下前端学习收获及感触

来实验室学习一个多月了&#xff0c;每天都爬向6楼&#xff0c;爬上爬下&#xff0c;有时饿了&#xff0c;就忍着&#xff0c;体会到“废寝忘食"的不言而喻之感&#xff0c;同时对"民以食为天"也深有体会.......总体说来&#xff0c;意志算坚定&#xff0c; 只是…

自己总结web前端面试题之javascript

1.js的几种数据类型&#xff1f; 字符串、数字、布尔、对象、Null、Undefined 2.typeof下的类型都有什么&#xff1f; string、number、boolean、function、object、Undefined 3.js的常见内置对象类&#xff1f; Date,Array,Math、Number、Boolean、String、Array、RegExp…