摘要:当运算符前置不出现赋值的时候,执行自增自减运算出现赋值的时候,要先运算,再赋值。例子有一侧结果为真真个运算结果为真。
javascript 基础运算符分为:算术运算符、赋值运算符、关系运算符、逻辑运算符;接下来详细讲解着几种运算符的掌握方法;
(一)算术运算符1,算术运算符根据运算符两边操数的不同 可以分为:一元运算符、二元运算符、三元运算符;
2.按照功能不同又分为:+(加号)、 —(减号)、 (乘号)、/(除号)和%(取余运算);
1-1.一元运算符;++(自增)、- -(自减);
当运算符后置:不出现赋值的时候,执行自增自减运算;出现赋值的时候,先赋值,再运算。
当运算符前置:不出现赋值的时候,执行自增自减运算;出现赋值的时候,要先运算,再赋值。
运算符后置例子;
var a=3; a++; consonle.log(a)//值为4 var a=3; var b=4; a--; b--; var c=a+b;//2+3 console.log(c);//5 var a=3; var b=4; a++; b++; var c=(a+b);//4+5 consonloe.log(c);//c的值为9 var a=3; var b=4; var c=(a++)+a+(b++)+b;//3+4+4+5 console.log(c);//16 var a=3; var b=4; var c=(a--)+a+(a++)+(b++)+b+(b--);//3+2+2+4+5+5 console.log(c);//21
运算符前置 例子;
var b=4; --a;//2 ++b;//5 console.log(a,b);// 2 5 var a=3; var b=4; var c=--a+b;//2+4 运算符前置 先运算 再赋值。 console.log(c);//6 var a=3; var b=4; var c=--a+--b;//2+3 console.log(c);//5
前后置综合使用;
var a=3; var b=4; var c=(--a)+(--b)+(b++);//2+3+3 console.log(c);//8
这里解释一下:我们先把它分开运算;
(--a)=2;运算符前置,先运算再赋值;
(--b)=3:同(--a);
(b++)=3;是不是很多同学都会把它算成等于 4或者5,我们要这样理解 (--b)以及把b的值转换为了3,所以(b++)括号中的b 其实是等于3的 (b++)运算后的确等于 4 ,但是看清了 它是运算符后置 ,所以在让它与其它数值相加时,它的值为3.
再来看下一个例子;
var a=5; var b=6; var c=(a++)+(b--)+(--a)-(--b);//5+6+5-4 console.log(c);//12
(a++) 5
(b--) 6 这两个均为运算符后置 所以还是各自的值;
(--a) 5 因为前面已经运算过 (a++)的值为6 这个运算符在前面,所以先运算 在赋值;
(--b) 4 由(b--)传递下来的值为5 运算符在前 先运算 再赋值 所以最后为4;
(二)赋值运算符 “=”很好理解的一个运算符;var a=251;赋予语句一个值;
关系运算符 ;(大于) 、 ==(等于)、<(小于)、>=(大于等于)、<=(小于等于)、!=(不等于)、===(真等于,全等)、+=....
关系运算符的运算结果为布尔类型 :true(真)、false(假);
、<、==、>=、=<都是用来比较 数值类型的和数字字符串的 比较方式和算法相同;每个关系运算符都会返回一个布尔值;
var a="3"; var b="5"; var c=a字母类型的字符串也可以用大于 小于来比较;
var a="alpha"; console.log(a,typeof a); var b="blue"; console.log(b,typeof b); var c=a"a" 的码位值97
"b"的码位值为98"b"的码位值为98
按照 ASCII 字符顺序进行升序排列 ;== 可以 用来比较数值和 数字类型的字符串;例如;
var b="5"; var c=a==b; console.log(c);//true=== 比==更高级一些 是真等 两个类型的无法比较 例如;
var a=5; var b="5"; var c=a===b; console.log(c);//false(四)逻辑运算符;输出结果为布尔(boolean)类型;逻辑运算符又分为三类 ; 逻辑或 | | ; 逻辑与 &&; 逻辑非 !;
1.逻辑或 || :当两边的表达式运算结果有一个为真(true);则结果为真,若两边均为假 肯定还是假的了。例子;
var a=3,b=4; var c=a>b||ab||a<4; console.log(c);//false 两边运算结果均为假 则输出结果为假 var a=5,b=8; var c=a4; console.log(c);//true 两边运算结果均为真 则输出结果为真2.逻辑与 &&:仅当运算符两边结果均为真的时候 运算结果才为真,例子;
var a=5,b=8; var c=a4; console.log(c);//true 两边运算结果均为真 输出结果才为真 var a=5,b=8; var c=a>b&&a>4; console.log(c);//false 两边运算结果有一侧为假 则输出结果为假 var a=5,b=8; var c=a4; console.log(c);//false 两边运算结果有一侧为假 则输出结果为假3.逻辑非 !;取相反的输出结果;例子; 这个和上方例子一样 加个! 变成逻辑非 取相反的 值
var a=5,b=8; var c=!a4; console.log(c);//true时间似流水,催促我们长大
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/114060.html
摘要:多数运算符都是由标点符号表示,比如和。通常会根据需要对操作数进行类型转换左值是一个古老的属于,它是指表达式只能出现在赋值运算符的左侧。也称为严格相等运算符,它用来检测两个操作数是否严格相等。运算符的检测规则是和运算符的求反。 源代码: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/...
摘要:完整清单是中添加,此处不予介绍布尔值用来表示可能是真或假的值。结果抽象比较运算符在比较它们之前在类型之间进行自动转换。中的隐式转换称为强制类型转换,并在规范中定义。这些内置类型可用于在不同类型之间进行显式转换。 翻译:疯狂的技术宅原文:https://www.valentinog.com/bl... 本文首发微信公众号:前端先锋欢迎关注,每天都给你推送新鲜的前端技术文章 show...
摘要:来源编程精解中文第三版翻译项目原文译者飞龙协议自豪地采用谷歌翻译部分参考了编程精解第版在机器的表面之下,程序在运转。本章将会介绍程序当中的基本元素,包括简单的值类型以及值运算符。示例中的乘法运算符优先级高于加法。 来源:ApacheCN『JavaScript 编程精解 中文第三版』翻译项目原文:Values, Types, and Operators 译者:飞龙 协议:CC BY-NC...
摘要:每个构造函数定义了一类对象,表示由构造函数初始化对象的集合。严格模式下,明确禁止八进制数。日期和时间构造函数用来创建表示日期和时间的对象,包含方法。模式匹配函数是一个构造函数,创建正则表达式。布尔值表示两种状态,使用保留字和。 《Javascript权威指南》就是前端工程师口中常说的犀牛书,得名是因为中文翻译出版的书籍封面是一只犀牛,是学习JavaScript的必读书籍。 JavaSc...
摘要:检测函数从技术上讲,中的函数是引用类型,同样存在构造函数,每个函数都是其实例,比如不好的写法然而,这个方法亦不能跨帧使用,因为每个帧都有各自的构造函数,好在运算符也是可以用于函数的,返回。 上周写过一篇读书笔记《编写可维护的JavaScript》之编程实践,其中 第8章 避免『空比较』是博主在工作中遇坑较多的雷区,所以特此把该章节重新整理分享,希望大家不再坑队友(>﹏<)。 在 Jav...
摘要:注意基本变量类型不是对象类型,只有基本包装类型才是对象类型。至于显示的原型,在里用属性表示,这个是原型继承的基础知识,在这里就不在叙述了。 前言 如果你要开发一个复杂的产品,那么肯定少不了使用面向对象机制,当然也避不开 Javascript 里面的继承,instanceof 运算符是原生 Javascript 语言中用来判断实例继承的操作符。所以我们有必要深入理解该运算符! inst...
阅读 2225·2021-11-25 09:43
阅读 2912·2019-08-30 15:52
阅读 1868·2019-08-30 15:44
阅读 961·2019-08-30 10:58
阅读 733·2019-08-29 18:43
阅读 3195·2019-08-29 18:36
阅读 2293·2019-08-29 17:02
阅读 1409·2019-08-29 17:01