JavaScript操作符-3---算数,逻辑,赋值,比较,三元
JavaScript操作符
学习目标
1.掌握什么是表达式
2.掌握javascript操作符的分类
3.掌握算数操作符
什么是表达式
将类型的数据(如常量、变量、函数等),用运算符号按一定的规则链接起来的、有意义的式子称为表达式。
操作符的分类
1.算数操作符
2.逻辑操作符
3.赋值操作符
4.比较操作符
5.三元操作符
JavaScript操作符-算数操作符
(隐式类型转换“5”)
+:加
-:减
*:乘
/:除
%:取余
递增和递减
1.递增: ++a与a++都是对进行递增的操作
区别: ++a先返回递增之后的a的值(1+a)
a++先返回a的原值,再返回递增之后的值
2.递减同理
<script>
var num1=10,
num2=5,
num3=num1++-num2, // ++num1 num1=num1+1
x1=20,
x2=30,
x3=--x1+x2--;
console.log(num1); // 11 // 11
console.log(num3); // 16 // 5
console.log(x1); // 19
console.log(x2); // 29
console.log(x3); // 19+30=49
</script>
JavaScript操作符-赋值操作符
赋值操作符
简单赋值:=
复合赋值:+=、-=、*=、/=、%=
<script>
var a=10;
var b=20;
var str="hello ";
a+=5; // a=a+5
b%=4; // b=b%4;
str+=" world"; // str=str+"world";
console.log(str); // hello world
console.log(a>b); // true
</script>
JavaScript操作符-比较操作符
>、<、>=、<=、==、===、!=、!==
==: 相等,只比较值是否相等
===:相等,比较值的同时比较数据类型是否相等
!=:不相等,比较值是否不相等
!===:不相等,比较值的同时比较数据类型是否相等
返回值:boolean型
var x=10,
y="10",
m=15,
//z=x==y; // 值是否相等
z=x===y, // 全等
n=x!==y;
console.log(n); // true
console.log(null===undefined); // false
JavaScript操作符-三元操作符
var soce=55;
Var result=(soce>=60)?“及格”:“不及格”
Console.log(result)
语法:条件?执行代码1:执行代码2
说明:可代替简单的if语句,如果条件成立,执行代码1,否则执行代码2
var soce=55;
var result=(soce>=60)?"及格":"不及格";
console.log(result); // 不及格
JavaScript操作符-逻辑操作符
逻辑操作符
&&:与,并且
||: 或
!:非
&&:与,并且(同时所有条件成立,返回true。只有一个条件不成立,返回false)
说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,
此时它遵循下列规则:
1.如果第一个操作数隐式类型转换后为true,返回最后一个操作数
2.如果第一个操作数隐式类型转换后为false,则返回第一个操作数
3.如果有一个操作数是null,则返回null
4.如果有一个操作数是NaN,则返回NaN
5.如果有一个操作数是undefined,则返回undefined
||:或(只要有一个条件成立,返回true)
说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,
此时它遵循下列规则:
1.如果第两个操作数隐式类型转换后为true,返回第一个操作数
2.如果第两个操作数隐式类型转换后为false,则返回第二个操作数
3.如果有两个操作数是null,则返回null
4.如果有两个操作数是NaN,则返回NaN
5.如果有两个操作数是undefined,则返回undefined
!:非
说明:1.无论操作数是什么类型,逻辑非都会返回一个布尔值
2.!!同时使用两个逻辑非操作符时:
第一个逻辑非操作非会基于无论什么操作数返回一个布尔值,
第二个逻辑非则对布尔值求反。
<script>
var num1=10,
num2=20,
num3=30,
str="welcome",
bool=true,
n=null,
m;
/* console.log(num1<num2 && num2<num3); // true
console.log(num1<num2 && num2==num3); // 所有条件都为true才返回true
console.log(num2<num3 && num3>num1 && false);*/
/* console.log(str && num3); // 30 "" false true 0 false true
console.log(80 && 55);
console.log("hello" && 65 && "abc"); // abc
console.log(0 && 88);
console.log("" && 0 && 30>20);*/
console.log(n && num3); // null
console.log(55 && true && 33*"abc"); // NaN
console.log(m && true); // undefined
</script>
<script>
var m;
/*console.log(55>88 || 33<66);
console.log(55!="55" || 88==="88");
console.log("hello" || 0); // hello
console.log(99 || 0 || "abc"); // 99
console.log("" || 88 || true); // 88
console.log("" || 0 || "abc"); // abc
console.log(0 || "" || null); // null
console.log(0 || "" || null || "hello"); // hello
console.log(m || NaN || 99); // 99
console.log("" || m); // undefined
console.log(30*"abc" || 55-"def"); // NaN*/
// 非
console.log(!false); // true
console.log(!88); // false
console.log(!0); // true
console.log(!"red"); //false
console.log(!NaN); //true
console.log(!null); //true
console.log(!!""); // false
console.log(!!"blue"); //true
</script>
JavaScript操作符-3---算数,逻辑,赋值,比较,三元的更多相关文章
- javascript 操作符类型隐性转换
javascript 操作符类型隐性转换 (一).一元操作符只能操作一个值的操作符叫做一元操作符1.递增和递减操作符a. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作 ...
- JavaScript操作符汇总
操作符 JavaScript 有赋值.比较.算术.位.逻辑.字符串和特殊运算符.本章描述了操作符,以及关于操作符优先级的一些信息. 表 2.1 JavaScript 所有操作符简明列表. 表 2.1 ...
- javascript使用两个逻辑非运算符(!!)的原因
javascript使用两个逻辑非运算符(!!)的原因: 在有些代码中可能大家可能会注意到有些地方使用了两个逻辑非运算符,第一感觉就是没有必要,比如操作数是true的话,使用两个逻辑非的返回值还是tr ...
- javascript——操作符(~、&、|、^、<<、>>)
直接上代码吧! <script type="text/javascript"> //javascript操作符 //1.按位非~ var num1=25;// var ...
- JavaScript操作符(布尔操作符、乘性操作符和加性操作符)
布尔操作符 布尔操作符用来测试两个值的关系,布尔操作符有三个,逻辑非(!).逻辑与(&&),逻辑或(||). 逻辑非由一个叹号(!)组成,可以应用于JavaScript任何值.逻辑非首 ...
- JS规则 是非颠倒(逻辑非操作符)"!"是逻辑非操作符,也就是"不是"的意思,非真即假,非假即真
是非颠倒(逻辑非操作符) "!"是逻辑非操作符,也就是"不是"的意思,非真即假,非假即真.好比小华今天买了一个杯子,小明说:"杯子是白色的" ...
- JavaScript操作符(一元操作符)
JavaScript操作符包括算术操作符.位操作符.关系操作符和相等操作符.只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符有两个版本:前置型和后置型.前置型操作符位于要操作 ...
- JavaScript学习总结(四)——逻辑OR运算符详解
在JavaScript中,逻辑OR运算符用||表示 1 var bTrue = true; 2 var bFalse = false; 3 var bResult = bTrue || bFalse; ...
- JavaScript操作符
一元操作符 只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符遵循下列规则: 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减 1 的操作 ...
随机推荐
- ORACLE-016:ora-01720 授权选项对于'xxxx'不存在
报错的情形如下, A用户:视图V_A B用户:视图V_B,并且用到了V_A C用户:需要用V_B, 授权过程, A用户下: grant select on V_A to B B用户下: grant s ...
- Convert java.lang.String to oracle.jbo.domain.Date
https://www.techartifact.com/blogs/2013/09/converting-java-lang-string-to-oracle-jbo-domain-date.htm ...
- Spring注解之@Lazy注解
@Lazy用于指定该Bean是否取消预初始化.主要用于修饰Spring Bean类,用于指定该Bean的预初始化行为, 使用该Annotation时可以指定一个boolean型的value属性,该属性 ...
- Xcode下的中文乱码问题
Xcode下的中文乱码问题 转载自:http://linyehui.me/2014/07/09/convert-gbk-to-utf8-on-mac.html =========== 问题原因 绝大部 ...
- Tips about Troubleshooting RAC
Installation Log Filessoftware installation log files inside the logs directory of Oracle central in ...
- Linux网卡性能查看(CentOS)
一.ethtool查看网卡带宽 ethtool eth0 #eth0为网卡名,使用ifconfig查看当前使用的网卡 Speed表示网卡带宽,Duplex表示工作模式,Supported link m ...
- vsftpd更新和修改版本号教程
1.rpm包更新 类似以下更新即可 rpm -Uvh vsftpd--.el6.x86_64.rpm 2.源码更新 不懂为什么对于新版本可能只有源码包而没有rpm等包,如此只能以源码更新了. .tar ...
- pycharm(Tip of Day)
You can easily override the methos of the base class by press Ctrl + 0 ( code | override methods) Yo ...
- 逆袭之旅DAY17.东软实训.Oracle.PLSQL.过程,函数,包,练习
2018-07-13 14:54:46 --1.创建一个包,包含一个为雇员加薪的过程,一个为雇员减薪的过程 CREATE OR REPLACE PACKAGE pac_test1 IS PROCEDU ...
- 逆袭之旅DAY09.东软实训.接口
2018年7月5日 package day0705.teacher.test1usb; /** * 测试类 * @author Administrator * */ public class UsbI ...