运算符

——运算符一共分为六种;
1.算数运算符
2.比较运算符
3.逻辑运算符
4.赋值运算符
5.字符串联接运算符
6.条件运算符
——运算符的概念;
JavaScript提供的一组用于操作数据值的运算符(操作符)。这些运算符可以按照作用的不同或者操作变量数量的不同进行分类。
——运算符的优先级别;
JavaScript语言中的运算符,如果在复杂的表达方式中应用,首先我们要了解运算符的优先级别。也就是说先计算哪个,再计算哪个的道理。就跟数学中的加减乘除相似。如果不知道运算符的优先级别,那么很可能导致最后的计算结果错误。
我们没有必要去记运算符的优先级别,只要记住关键的小括号级别是最高的就可以。实际开发中只要使用小括号包裹的运算符,就先去计算包裹的运算符;

运算符具有计算的优先级别

1.先计算优先级别高的运算符
2.运算符的级别相同,从左至右的计算运算符中优先级别最高的是“()”
优先计算的表达式利用"()"将其包裹起来
console.log(100 + 200 - 150 * 3);
console.log(100 + 200 % 3);
console.log(2 * 200 % 3);var num = 10;
console.log(5 + ++num);
1.算数运算符

算数运算符的基本操作比较简单
-如果运算数中的一个或者两个是字符串类型,那么JavaScript会自动转换成数字值,然后再进行计算。
如果运算数中的一个或两个是字符串类型,但是其中的字符不是数字时,JavaScript会自动转换成数字值进行计算,得到的结果是NaN.(任何一个运算数是NaN,结果都会是NaN)。
布尔的false和true值都会默认转换为0和1进行计算。

var num = 100;
var str1 = '运算符';
var str2 = '200';
var boo = true;加法
var result1 = num + 300;
console.log(result1);// 400如果字符串进行加法计算 -> 字符串连接运算符(拼串)
var result2 = str1 + 300;
console.log(result2);
console.log(typeof result2);// stringvar result3 = str2 + 300;
console.log(result3);// 200300如果布尔类型进行加法计算 -> 将布尔类型转换为数字值,再进行加法计算
var result4 = boo + 300;
console.log(result4);// 301减法 - 先将其他类型转换为number类型,再进行计算
var result5 = num - 100;
console.log(result5);// 0如果字符串进行减法计算的话 -> 将字符串类型转换为数字值,再进行减法计算
var result6 = str1 - 100;
console.log(result6);// NaNvar result7 = str2 - 100;
console.log(result7);// 100如果布尔类型进行减法计算 -> 将布尔类型转换为数字值,再进行减法计算
var result8 = boo - 100;
console.log(result8);// -99

2.比较运算符
JavaScript语言中的比较运算符,主要是用来比较两个操作数的大小,相等。
全等于不全等,不仅要比较直,还要比较类型。

 1.number类型
console.log(10 > 11);// false是错误的,10不可能大于11
console.log(11 > 10);// true是正确的,11本来就大于10
console.log(10 >= 10);// true是正确的,10本身就大于等于102.boolean类型 - 将boolean类型转换为number类型
console.log(true > false);// true是正确的,true表示1、false表示0
console.log(true > 0);// true是正确的,true表示1,所以大于03.string类型 - a.英文;b.中文英文或中文 -> 将文本转换成 Unicode 码 - 对应具有数字值英文单词 -> 从左至右的依次比较字母 Unicode 码的大小console.log('a' < 'b');// true
console.log('a' > 'A');// true
console.log('abc' > 'cba');// false
console.log('abc' > 'acd');// falseconsole.log('我' > '你');// true

Unicode编码顺序

相等与不等比较
1.number类型
console.log(10 == 10);// true
console.log(10 == 11);// false
2.boolean类型
console.log(true == true);// true
console.log(true == false);// false

console.log(true == 1);// true

3.string类型
console.log('a' == 'a');// true
console.log('a' == 'b');// false
(只比较值,而不比较类型)
console.log('100' == 100);// true

相等比较运算符
与赋值运算符的区别

  • 赋值运算符(=)
  • 相等比较运算符(==)

不等比较运算符

  • 符号是(!=)
  • 不是(<>)

isNaN()函数
isNaN函数用于判断其参数是否为NaN。
一般多用于检测使用类型转换函数进行数据类型转换后的结果是否为合法的数字值。
(NaN与任何值包括自身进行比较,最后结果都是false)

   作用 - 判断当前值是否为 NaNtrue - 表示当前值是 NaN(不是一个数字值)false - 表示当前值不是 NaN(不是一个数字值)console.log(isNaN(100));// false
console.log(isNaN(Number('wolongxueyuan')));// truevar result = 100/0;
console.log(result);// InfinityisFinite()函数作用 - 判断当前值是否为无穷大false - 表示当前值是无穷大true - 表示当前值是有限数值console.log(isFinite(result));// false

逻辑运算符
逻辑运算符是用于布尔类型的计算。
把逻辑与运算的两个操作数,转换为布尔类型。

  • 当左边的操作数为true,结果是右边操作数的值
  • 当左边的操作数为false,结果是左边操作数的值

逻辑或运算符

console.log(true || true);// true
console.log(true || false);// true
console.log(false || true);// true
console.log(false || false);// false将逻辑与运算符的两个操作数,转换为布尔类型-当左边的操作数为true时,结果为左边操作数的值- 当左边的操作数为false时,结果为右边操作数的值console.log(100 || 1);
console.log(1 || 0);
console.log(0 || 1);
console.log(0 || 0);console.log(true || true);
console.log(true || false);
console.log(false || true);
console.log(false || false);

逻辑短路
逻辑与运算符

 - 逻辑与运算符前面是false,结果都将返回逻辑与运算符前面的值- 逻辑与运算符前面是true,结果都将回逻辑与运算符后面的值

逻辑或与运算符

 - 逻辑或运算符前面是false,结果都将返回逻辑或运算符后面的值- 逻辑或运算符前面是true,结果都将返回逻辑或运算符前面的值

4.条件运算符

var score = 55;嵌套条件运算符优点 - 扩展了条件运算符本身的计算能力缺点-可读性比较差-性能随着嵌套的层级越多越差建议 - 最多不要超过三层嵌套var result = score > 90 ? '优秀' : (score > 80 ? '良好' : (score > 60 ? '及格' : '不及格'));
console.log(result);

JavaSceipt核心语法——运算符相关推荐

  1. CC00009.python——|HadoopPython.v09|——|Arithmetic.v09|语法:核心语法运算符.V1|

    一.运算符:算数运算符:算术运算符:Python中进行数值运算需要的符号如下,我们来一一学习一下. 运算符 描述 实例 + 加 1 + 1; a + b - 减 10 - 5; a - b -c * ...

  2. 学习Python全套代码【超详细】Python入门、核心语法、数据结构、Python进阶【致那个想学好Python的你】

    大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 文末附上详细的 ...

  3. python人工智能_人工智能福利丨Python核心语法实战

    Python已正式跻身成熟语言行列,成为整个互联网的基础性语言之一,并以肉眼可见的速度,在全球攻城略地: --牢牢占据TIOBE世界编程语言排行榜第四名,且保持上升趋势 --国家级人工智能四大平台确立 ...

  4. php核心语法,PHP核心语法总结

    这些天学习了PHP的核心编程语法,PHP核心语法概括起来不多,大致分为php标签,语法规范.数据类型.变量.常量.当然还有预定义的,还有操作符.循坏等等,最后几天学习了函数,其中数组的常用函数非常多. ...

  5. onmounted vue3_Vue3.x 生命周期 和 Composition API 核心语法理解

    1 Vue2.x 生命周期回顾 beforeCreate,在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用. created,在实例创建完 ...

  6. Jenkins2 流水线核心语法

    Jenkins 2 版本后核心的功能就是 Pipeline,我们可以通过 Jenkinsfile 来完成流水线的定义.前提是我们需要掌握一定的流水线编写语法和技巧.通过掌握核心语法完成流水线的配置.适 ...

  7. JavaScript - 核心语法学习

    1.应用场景 了解学习JavaScript语言的最核心的东西,帮助我们重新理解前端本质, 快速高效开发前端项目. 2.学习/操作 1. 文档阅读 标准库 - JavaScript 教程 - 网道 2. ...

  8. 一·java核心语法——注意And疑惑

    文章目录 注意 java基础核心语法 疑惑 java 注意 java基础核心语法 ps: 加粗和[]表示重点 删除表示已解决 1.跳转语句: continue:跳出当前循环,继续下一次循环 break ...

  9. JS基础核心语法(1)

    JS基础核心语法 JS的简介 JS的组成 JS的特点 JS的使用 JS的输出 JS的调试 JS的语法规范 报错类型 标识符 JS的执行代码过程: 有无var关键字声明变量的区别 JS的简介 视图(vi ...

最新文章

  1. istringstream ostringstream stringstream
  2. 比特币核心(BCE)或许并没有你想象的强大
  3. python程序如何做界面_python是如何写界面程序的?
  4. 微信、陌陌等著名IM软件设计架构详解【转】
  5. Eclipse+Maven配置
  6. django配置mysql数据库
  7. 【BZOJ】【4145】【AMPPZ2014】The Prices
  8. Java 9中的进程处理
  9. 软件工程和计科专业对比,哪一个更适合毕业做程序员?
  10. java基础将字符串进行反转
  11. 构造函数能默认初始化其静态成员么?
  12. 笔记 我的Linux入门之路,我的LINUX之路----linux目录文件管理
  13. Illustrator中文版教程,如何在 Illustrator 中使用不透明度和混合模式?
  14. JVM内存:年轻代,老年代,永久代
  15. onSubmit的使用
  16. 甘特图控件VARCHART XGantt,分析拖动工具!
  17. 计算机科学导论佛罗赞第4版,计算机科学导论 原书第4版
  18. webrtc中GCC拥塞控制模块之码率控制器AimdRateControl
  19. 对立志成为DBA的人的几点建议
  20. 二项分布 (Binomial Distribution)

热门文章

  1. libcurl 发送邮件_libcurl smtp发送邮件附件大小限制问题
  2. eclipse安装OpenExplorer插件--快速打开文件目录
  3. mysql maven 自动生成_【图文经典版】maven自动生成dao层
  4. radiogroup只走一次监听事件_如果一生只去一次内蒙,那走这条路线就够了!
  5. c++ map初始化_Java多线程 未完成初始化--构造方法中新建线程
  6. python 内存优化_Python 黑魔法之内存优化
  7. python执行多个py文件_【经验分享】如何同时运行多个python脚本
  8. 无法定位序数325于动态链接库SHDOCVW.dll的解决方法
  9. 浙江大学_包家立教授计算生物学2_信源编码理论
  10. R语言生信作图代码集合大全