运算符的概述

JavaScript提供了一组用于操作数据值的运算符,又可以称之为操作符,这些运算符可以按照作用的不同,或者操作变量数量的不同进行分类。

1.算数运算符的基本操作比较简单,但我们需要注意以下的几种情况;

*如果运算数中的一个或者两个字符串类型,那么JavaScript会自动转换为数字值,再进行计算。
如果运算数中的一个或两个是字符串类型,但是其中的字符串不是数字,JavaScript会自动转换数字值
,得到NaN结果
任何一个运算数是NaN,结果都是NaN。
布尔值false和true会转换为0和1进行计算*

2.运算符 加减以及求余,自增的用法

var num = 50 ;
var str1 = '范甘迪';
var str2 = '200';
var boo = true;//加法num 数字加法就是数字相加var a1 = num+200
console.log(a1)//如果是字符串进行相加的话,结果就是将两个字符串相连接
var a2 = str1+200
console.log(a2)//如果布尔类型进行加法计算,先将布尔值转换为数字值,再进行加法计算
var a3 = boo+200
console.log(a3)
//如果字符串进行减法计算的话 那么先将字符串类型转换为数字值,再进行减法计算
var a4 =str1-50
console.log(a4)//减法,先将其他类型转换为number类型,再进行计算
var a4 = num -100
console.log(a4)//如果布尔类型进行减法计算,那么先将布尔类型转换为数字值,再进行减法计算
var a5 = boo-50
console.log(a5)
//自增运算符是来操作当时变量的值;每一次自增+1
/*有两种自增方案
1前置自增运算符++变量名 ,先增加后赋值.
2后置自增运算符-变量名++,先赋值再自增
* */
var num = 10;
console.log(num);//10var a1 = ++num;
console.log(a1);//11
console.log(num);//11var a1 = num++;
console.log(a1);//11
console.log(num);//12
  • 运算符的有限级别
* 运算符的优先级别
* 运算法则是先运算优先级别较高的运算符
* 如果运算的级别相同的话则从左至右计算
`console.log(1+2-3*4) //-9 乘法优先级别更高所以先运算乘法再从左到右运算
console.log(5+50%3)//7 余数的优先级高
console.log(2*4%2)//余数与乘法优先级一样高所以自左到右计算var num = 2;
console.log(5*++num)//前置自增优先级更高
//大于小于比较运算符 大小比较运算符的结果类型为布尔类型
/*
* 1num类型*/
console.log(1>2)//false因为1小于2 所以结果为false假
console.log(1<2)//true 1小于2 是正缺的所以结果为true
console.log(1<=2)//true//booean类型比较运算;先将Boolean类型转换为number类型
console.log(true>false)//true true=1 false=0//string类型 将string转换为Unicode码然后进行比较
//若比较的是英文单词那么 从左至右字母依次比较Unicode码进行比较
console.log('a'<'b')//true
console.log('adc'>'asc')//false
console.log('和'<'打')//true

相等与不等运算符

/*相等与不相等运算符
* 两个== 表示相等; 不等则是!=表示*/
console.log(1==2)//false1不等于2所以结果为false
console.log(1!=2)//true 1不等于2 缩减结果为true//boolea类型
console.log(true==true)//true
console.log(false!=true)//true
console.log(false==3)//false//string 类型
console.log('s'=='s' )//true
console.log('d'!='我')//true
console.log('213'==213)//true只比较其数值不比较类型

全等与不全等运算符;

//全等不全等,不但不叫值还比较类型
console.log(1 === 10);// trueconsole.log('10' === 10);// false
console.log('10' === '10');// true

isNaN()函数与isfinite()函数的作用

//isNaN()函数 它的作用就是判断当前的值是否为NaN
//结果为true结果是NaN
//结果为false是结果不是NaN 因为他不是一个数值
console.log(isNaN(1))// 因为他不是NaN所以结果为false
console.log(isNaN('大话西游'))//因为他转换为number类型为NaN所以结果为true
//isfinit()函数表示判断当前值是否为无穷大
//结果为false时表示当前的值时无限大.
//当结果为true时 表示当前数值为有限大
var a = 100/0;
console.log(a)//infinety 表示输出的结果为无限大
console.log(isFinite(a))//false
逻辑与运算符

console.log(true && true);// true
console.log(true && false);// false
console.log(false && true);// false
console.log(false && false);// false
/*将逻辑与运算符的两个操作数,转换为布尔类型* 当左边的操作数为true时,结果为右边操作数的值* 当左边的操作数为false时,结果为左边操作数的值*/`console.log(100 && 1);// 1
console.log(1 && 0);// 0
console.log(0 && 1);// 0
console.log(0 && 0);// 0console.log(true && true);
console.log(true && false);
console.log(false && true);
console.log(false && false);console.log('卧龙学苑' && '卧龙学苑');// 卧龙学苑
console.log('优秀' && '');// ''
console.log('' && '痴迷');// ''
console.log('' && '');// ''console.log('答案' && 1);// 1
console.log(false && 0);// 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);// 100
console.log(1 || 0);// 1
console.log(0 || 1);// 1
console.log(0 || 0);// 0console.log(true || true);
console.log(true || false);
console.log(false || true);
console.log(false || false);console.log('卧龙学苑' || '卧龙学苑');// 卧龙学苑
console.log('卧龙学苑' || '');// 卧龙学苑
console.log('' || '卧龙学苑');// 卧龙学苑
console.log('' || '');// ''赋值的扩展运算符
var b = 10, c = 20;var a = b + c;
console.log(a);// 30// b = b + c;
// 等价写法 - 赋值扩展运算符的性能要比赋值运算符更高
b += c;
console.log(b);// 30
条件运算符:var result = 8 > 9 ? '对' : '错';1. console.log(result);var score = 95;
score > 90 ? console.log('优秀') : console.log('及格');
/*当条件运算符条件为true时输出的结果为冒号前面的值 条件为false时输出结果就是冒号后面的值*/

嵌套运算符:

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

JavaScript运算符的概述分类及其优先级相关推荐

  1. javascript 运算符优先级

    JavaScript 运算符优先级(从高到低) https://github.com/xhlwill/blog/issues/16 今天把js函数转换为python 函数时,发现在js运算符优先级这边 ...

  2. JavaScript运算符的优先级(案例讲解)

    先来看看这道题... 下边代码输出的结果是( ) var val = 'smtg'; console.log('Value is ' + (val === 'smtg') ? 'Something' ...

  3. Like Sunday, Like Rain - JavaScript运算符优先级

    "JavaScript⾥的很多奇技淫巧,都来⾃于对运算符的灵活使⽤." 说到运算符的优先级,我们往往会想到一张见过无数次却从来没背下来的表.因为没背下来, 所以往往会认为它很简单, ...

  4. JS基础入门 Javascript运算符

    Javascript运算符 1.运算符(操作符) 1.1运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值.比较和执行算数运算等功能的符号 Javascript中常用的运算符有: ...

  5. JavaScript运算符:递增递减运算符前置和后置的区别

    从两段代码说起 var num1 = 2; var num2 = 20; var num3 = --num1 + num2; var num4 = num1 + num2; console.log(n ...

  6. javascript百炼成仙 第一章 掌握JavaScript基础 1.12 JavaScript运算符

    题目一出,真是几家欢喜几家愁,那些复习得好的,自然可以款款而谈,可是那些本身基础就薄弱的弟子,立刻尴尬地说不出话来.甚至有的弟子已经举双手表示要放弃比赛.这些举动立刻引来了场外那些大弟子的哄笑.尤其是 ...

  7. JavaScript运算符完全攻略(史上最全!)

    文章目录 JavaScript运算符完全攻略 操作数的个数 操作数的类型 运算符的优先级 运算符的结合性 左值.赋值及其副作用 加法运算 减法运算 乘法运算 除法运算 求余运算 取反运算 递增和递减 ...

  8. JavaScript运算符详解说明

    JavaScript运算符详解说明 运算符是完成一系列运算操作的符号. 算术运算符 算术运算符用来在程序中进加.减.乘.除等运算. 运算符 描述 + 加运算符 - 减运算符 * 乘运算符 / 除运算符 ...

  9. javascript运算符_返回基础:JavaScript运算符,条件和函数

    javascript运算符 在研究使用JavaScript创建程序之前,必须牢牢掌握基础知识. 在本文中,我们将介绍JavaScript的一些最重要的基本概念,这些基本概念使您可以开始编写自己的程序: ...

  10. JavaScript运算符

    知识点罗列: 1.JavaScript运算符: ①算数运算符: 运算符也叫做操作符 通过运算符可以对一个或则多个值进行运算,并获取运算结果. - 算数运算符 + 加 可以对两个值进行加法运算,如果是两 ...

最新文章

  1. LeetCode简单题之数组中的字符串匹配
  2. 初识linux以及bash的部分使用及技巧
  3. python 对链表进行插入排序
  4. 同级选择器_基础选择器
  5. 什么叫时钟漂移(Wander)?时钟漂移与时钟抖动(jitter)的区别
  6. DevExpress第三方控件汉化的全部代码和使用方法
  7. java 调用本地接口_JAVA通过本地接口调用C++
  8. 前端学习(2920):v-html和v-text
  9. oracle 序列的概念与使用步骤
  10. Redis Nosql数据库
  11. MPLS virtual private network路由信息的发布过程
  12. 个人经历 | 聊聊我的安全成长之路
  13. LLDP协议编写要点
  14. Python3学习笔记十三
  15. 阿里ECS云服务器买来之后必做的几个操作
  16. 软件架构详解(附图)
  17. Atcoder F - Mirrored(思维+搜索)
  18. 盈致科技2021大事件 感恩回首过去,高歌猛进一同共创未来
  19. 世界上还有人以“厕所”为姓,都知道是哪国人
  20. WSS、SSL 和 https 之间的关系

热门文章

  1. java初级开发一系列的工具安装配置
  2. POJ 2778 DNA Sequence (Aho-Corasick 矩阵优化) - xgtao -
  3. MSSQL表别名使用注意事项
  4. 会议室预定模拟登陆网站
  5. 洛谷 P1057 传球游戏
  6. UIImageView三种方式 和 位置分布
  7. tornado + supervisor + nginx + linux 亲身体验
  8. leetcode(85)最大矩形
  9. iptables端口转发
  10. 华为lab-rs-v1-1.5_smart link