位置: 编程技术 - 正文

JavaScript中的运算符种类及其规则介绍(javascript运算)

编辑:rootadmin
JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等。这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScript中的运算符。   一、JavaScript运算符的种类   1、算术运算符:+ 、 - 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 --   2、等同全同运算符:== 、 ===、 !== 、 !===   3、比较运算符:< 、 > 、 <= 、 >=   4、字符串运算符:< 、 > 、 <= 、 >= 、 = 、 +   5、逻辑运算符:&& 、 ||、 !、   6、赋值运算符:=、 +=、 *=、 -=、 /=   二、JavaScript运算符的规则   1、算术运算符规则   “+”:可以进行“加法”与“连接”运算;如果2个运算符中的一个是字符串,javascript就将另一个转换成字符串,然后将2个运算数连接起来。   “+”:如果一个运算数是对象,javascript就会将对象转换成数字做加法运算或者字符串做连接运算;   “-”“*”“/” 如果2个运算数中的一个是是非数字,则将它转化成数字执行数学运算。   “/” 在javascript中,由于所有的数都是浮点数,除法的结果都是浮点数,5 / 2 = 2.5 ;除数为0的结果为正负无穷;0/0为NaN;   “%”模运算符:计算第一个运算数对第二个运算数的模,就是第一个运算数被第二个运算数除时,返回余数。如果运算数是非数字的,则转换成数字。   “-”一元取反:将运算数取反,如果运算数不是数字,则转化成数字。   “++”“--”增量运算符/减量运算符号:运算数必须是一个变量、树组的一个元素或对象的一个属性。如果运算数不是数字,则转换成数字。   注意:如果“++”位于运算数之前,先对运算数进行增量,然后计算运算数增长后的值。   如果“--”位于运算数之后,先计算运算数未增长之前的值,然后对运算数增量。   例如:i = 1; //赋值给i值1   j = ++i; //先将i增量为2,然后将2赋值给j,i的值是2,j的值也是2。   i = 1; //赋值给i值1   j = i++; //先将i赋值给j,然后对将i值增量到2,i的值是2,j的值是1。   减量运算符“--”与“++”相同。   2、等同运算符与全同运算符   (I)“==”“!==”等同运算符与非等同运算符:   比较2个运算数,返回一个不布尔值。   比较数值、字符串、布尔值使用的都是量值。当且仅当两个变量存放的值相等的时候,他们才相等。   比较对象、数组、函数的时候,使用的是引用,只有2个变量引用的是同一个对象时,他们才是相等的。两个不同的数组是完全不同的,即使他们具有完全相同的元素。对于存放对象、数组、函数的引用的变量来说,只有当他们引用的是同一个对象、数组、函数的时候,他们才相等。   注意!应遵循的原则:   当两个运算数的类型不同时:将他们转换成相同的类型,   1)一个数字与一个字符串,字符串转换成数字之后,进行比较。   2)true转换为1、false转换为0,进行比较。   3)一个对象、数组、函数 与 一个数字或字符串,对象、数组、函数转换为原始类型的值,然后进行比较。(先使用valueOf,如果不行就使用toString)   4)其他类型的组合不星等。   想两个运算数类型相同,或转换成相同类型后:   1)2个字符串:同一位置上的字符相等,2个字符串就相同。   2)2个数字:2个数字相同,就相同。如果一个是NaN,或两个都是NaN,则不相同。   3)2个都是true,或者2个都是false,则想同。   4)2个引用的是同一个对象、函数、数组,则他们相等,如果引用的不是同一个对象、函数、数组,则不相同,即使这2个对象、函数、数组可以转换成完全相等的原始值。   5)2个null,或者2个都是未定义的,那么他们相等。   “!=”非等同运算符:与等同运算符检测的结果相反。   (II)“===”“!===”全同运算符与非全同运算符号:   全同运算符遵循等同运算符的比较规则,但是它不对运算数进行类型转换,当两个运算数的类型不同时,返回false;只有当两个运算数的类型相同的时候,才遵循等同运算符的比较规则进行比较。   “!==”非全同运算符与全同运算符比较的结果相反。如果两个运算数的类型或者值不同的时候,返回true。   3、比较运算符   这些比较运算符用于比较不同类型的值,结果返回一个布尔值。   “<”“>”“<=”“>=”   注意规则:比较的运算数可以是任意类型的,但是只能在数字和运算数上执行。不是数字和字符串的运算数将被转换成数字或字符串。   1)如果两个运算数都是数字,或者都可以转换成数字,则按照数字的大小进行比较;   2)如果两个运算数都是字符串,或者都可以转换成字符串,则将按照字母顺序进行比较;   3)如果字符串遇到数字,则将字符串转换成数字进行比较。   4)如果运算数既不能转换成数字,也不能转换成字符串,则返回结果false。   4、字符串运算符   并没有专用的字符串运算符,只是有些运算符在遇到字符串运算数的时候,表现不同。   (I)“+”连接2个字符串;   1)当2个运算数都是字符串的时候,连接起来;   2)当其中有一个是数字的时候,将数字转换成字符串,连接起来;   (II)“>”这样的比较运算符通过比较确认两个字符串的顺序,比较采用字符的顺序,较小的位于教大的前面,大写字母位于小写字母之前。   (III)“+”的作用方法取决于计算顺序,   如:s = 1 + 2 +"var" 则:返回结果3var; 因为先计算1+2,然后将结果3转换成字符串与"var"连接;   如:s = "var" + 1 + 2 则:返回结果var; 因为先计算var与1的连接,在将结果var1与转换成字符串的2连接起来。   5、逻辑运算符   用于执行布尔运算,常常和比较运算符一起使用,来表示复杂的比较运算。   “&&” 逻辑与运算、“||”逻辑或运算符、“!”逻辑非运算符   (I)“&&”当两个运算数都是布尔值的时候,逻辑与对他们进行and操作,即:当且仅当两个布尔值都是true的时候,返回结果true,否则返回false。   注意:实际表现   “&&”将检测第一个表达式运算数布尔值,如果第一个运算数表达式返回false,则返回左边第一个运算数表达式的值:false;否则将继续检测第二个即右边的运算数表达式,然后返回第二个运算数表达式的值;   例如:if (a = b) stop(); 与 (a = b) && stop(); 等价   不赞成使用这个方法,因为运算符右边的代码不能保证会被执行,   例如:if ((a < b) && (b++ <) ) stop();如果运算符右边的增量必须的话,却有可能由于前面的返回值而不被执行,一般反对在&&的右边使用具有其他作用的表达式(赋值、函数调用、增减量);   将“&&”看作是一个布尔代数的运算符,会更简单与安全。   (II)“||”当两个运算数都是布尔值的时候,逻辑或对他们进行or操作,即:当两个布尔值有一个是true的时候,返回结果true,否则返回false。   注意:实际表现   “||”将检测第一个表达式运算数布尔值,如果第一个运算数表达式返回true,则返回左边第一个运算数表达式的值:true;否则将继续检测第二个即右边的运算数表达式,然后返回第二个运算数表达式的值;   同样不赞成使用这个方法,因为运算符右边的代码不能保证会被执行,   一般反对在||的右边使用具有其他作用的表达式(赋值、函数调用、增减量);   将“||”看作是一个布尔代数的运算符,会更简单与安全。   (III)“!”逻辑非是一个一元运算符,放在运算数之前,它的目的是对运算数取反。   6、赋值运算符   (I)“=”是赋值运算符;他总是期望左边的运算数是一个变量、数组的一个元素或对象的一个属性;   期望右边是一个任意类型的任意的值;   从右到左的结合性,如果一个表达式中有多个赋值运算符,则从最右边开始计算。   注意:每一个赋值表达式都有一个值,就是运算符右边的值;   (II)可以使用带操作的赋值运算   “+=” 左边的值加上右边的值后,赋值于左边的值。“-=”“/=”“*=”方法一样;   7、其他运算符   “?:”条件运算符是唯一的一个三元运算符;   一个表达式的布尔结果?表达式1(任意类型的任意值):表达式2(任意类型的任意值);   根据第一个运算数的布尔值结果,如果为true,则执行第二个运算数表达式,返回第二个运算数表达式的值;如果第一个运算数的布尔值结果是false,则执行第三个运算数表达式,返回第三个运算数表达式的值。   三、JavaScript运算符的注意   1、要注意传递给运算符的数据类型和返回的数据类型!不同的运算符都期望它的运算数表达式计算出的结果符合某种数据类型。   例如:对字符串是不能进行乘法运算的,"a" * "b" 是不合法的,但是,在可能的情况下,javascript会把表达式转换成正确的类型,因此,表达式 "3" * "5" 是合法的,javascript将字符串转换成数字执行运算,结果返回的是数字,而不是字符串""。   2、+ 根据运算数的不同,具有不同的表现:   字符串 + 字符串 = 字符串(被连接);"a" + "b" = "ab" "5" + "6" = ""   字符串 + 数字 = (字符串转换成数字)字符串(被连接);"a" + 5 = "a5" 5被转换成字符串 "1" + 0 = ""   数字 + 数字 = 数字(相加)5 + 5 = 。   3、注意运算符的结合性,有些运算符从左到右的结合性;有些从右到左结合性。   例如:w = a + b + c 等同于 w = (a + b) + c;   w = ---b 等同于 w = - ( - ( -b ) ); w = a = b = c 等同于 w= ( a = ( b = c ))   一元运算符、赋值运算符、三元运算符的结合性是从右到左的;   JavaScript的运算符就为大家介绍到这里了,希望能对大家在日常中有所帮助。

推荐整理分享JavaScript中的运算符种类及其规则介绍(javascript运算),希望有所帮助,仅作参考,欢迎阅读内容。

JavaScript中的运算符种类及其规则介绍(javascript运算)

文章相关热门搜索词:javascript中的运算符分为哪几种?,javascript运用,javascript运行,javascript运行,javascript中的运算符分为哪三大类,javascript中的运算符百分比如何计算,javascript中的运算符分为哪三大类,javascript中的运算符有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

appendChild() 或 insertBefore()使用与区别介绍 document.createElement()是在对象中创建一个对象,要与appendChild()或insertBefore()方法联合使用。其中,appendChild()方法在节点的子节点列表末添加新的子节点。i

JavaScript对象学习经验整理 1.对象的创建方法:(1)通过new运算符创建,new后面跟着一个构造函数名varobject=newObject();构造函数直接调用时通常没有返回值,它只是初始化由this值传递

JavaScript var声明变量背后的原理示例解析 只要是写过点JS代码,很简单一个var就完事了。那对于JS编译器背后它又发生了什么呢?那就一步步通过代码来讲起。x=1;alert(x);vary=function(){alert(x);varx=2;a

标签: javascript运算

本文链接地址:https://www.jiuchutong.com/biancheng/376157.html 转载请保留说明!

上一篇:document.getElementBy("id")与$("#id")有什么区别(document.getElementById()为null)

下一篇:appendChild() 或 insertBefore()使用与区别介绍

  • 处置固定资产增值税税率
  • 8月现金收入9月存银行如何做账
  • 小微企业印花税减免最新政策
  • 税务局未核定的印花税
  • 原材料暂估入库的账务处理有哪些
  • 一般纳税人什么时候用简易计税
  • 企业外部风险包括
  • 营改增后怎么计算税费
  • 二手车交易怎么办理过户手续
  • 视同销售收入计入会计利润吗
  • 企业所得税汇算清缴补缴税款分录
  • 购买税控设备,享受何种优惠政策
  • 外商投资企业母公司派到境内职员回国后
  • 企业物流运输
  • 进项税额转出年末要结转吗
  • 跨区域经营增值税所得税预缴多少
  • 怎么查公司连续缴纳社保记录
  • 三八妇女节要求小班幼儿到校怎么分享
  • 增值说税率怎么计算
  • 个税累计预缴税额税率表是年还是月
  • 增值税的计征方法有哪些
  • 摊销合同取得成本分录
  • 拿到购房发票
  • 取得运输单位开具的普通发票
  • 土地增值税属于什么税类
  • 去年的发票今年能用吗
  • 苹果中国区副总裁
  • 此windows副本不是正版影响电脑使用吗
  • 如何用注册表
  • 搭建rtmp
  • 非居民个人所得税税率表最新
  • 更新出现网络异常
  • php 设计模式
  • 政府奖励怎么做账
  • 与资产相关的政府补助所得税处理
  • 布列塔尼岛屿
  • linuxvim批量替换
  • 二次封装机
  • flink从入门到实战
  • 并发操作的定义
  • 从univ.txt文件中去掉机构名称
  • centos+php+coreseek+sphinx+mysql之一coreseek安装篇
  • 坏账的资产减值损失可以税前扣除吗
  • vue组件怎么使用
  • 企业所得税本期已预交怎么算
  • 公司账户转私账违法吗
  • 帝国cms教程官方完整版
  • 返回个人所得税的分录
  • Python中__slots__限制属性
  • 以前年度的成本忘了结转然后怎么办
  • 机械租赁费税率是多少
  • 合同负债算负债吗
  • c#窗体类属性和方法
  • 其他债权投资的公允价值变动计入什么科目
  • 同在一个单位
  • 长期待摊费用的概念
  • 关税进口增值税缴纳时间
  • 收到注册资本金什么时候交印花税
  • 住宿费的进项税额
  • 预缴所得税会计分录怎么做东奥
  • 游戏公司的主营业务成本
  • 企业付的快递费怎么做账
  • 简要分析企业购买行为的影响因素
  • mysql高级功能
  • 清理c盘清理
  • u极速u盘启动官网
  • ubuntu20.04命令
  • u盘安装win7视频教程
  • linux一块网卡绑定多个ip
  • win7系统局域网无法看到其他电脑
  • glUnmapBuffer
  • javascript Event对象详解及使用示例
  • 设计一个windows
  • javascript概述及作用
  • js如何使用
  • python组合运算
  • Activity与Theme
  • python如何用pi
  • jquery控制元素的显示与隐藏
  • 出口免税不退税主要适用于
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设