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 的操作 ...
随机推荐
- 使用maven构建一个web项目
使用maven构建一个web项目 首先建立一个maven项目(关于环境配置上节有详细过程): 1)-->右键new,-->project ...
- Django之路由分配系统
前言: Django大致工作流程 1.客户端发送请求(get/post)经过web服务器.Django中间件. 到达路由分配系统 2.路由分配系统根据提取 request中携带的的url路径(path ...
- spring自定义xml标签&自定义注解
public class YafBeanDefinitionParser implements BeanDefinitionParser { private BeanDefinitionRegistr ...
- input text 在苹果微信浏览器中有上上阴影
box-shadow:0px 0px 0px rgba(0,0,0,0); -webkit-appearance:none;
- vbox 虚拟机添加usb
先装扩展包. vbox 所在的用户组比如要包括当前用户才行. 查看当前用户名:sharl@sharl-laptop:~$ whoamisharl 查看vbox 所在的组:sharl@sharl-lap ...
- C++11 并发之std::thread std::mutex
https://www.cnblogs.com/whlook/p/6573659.html (https://www.cnblogs.com/lidabo/p/7852033.html) C++:线程 ...
- 逆袭之旅DAY10.东软实训.
- windows 文本操作
type命令 作用:显示文件类文件内容 (例如:.txt .Java .cpp .c .html 等属于文本类文件 .word excel ppt exe dll 等都不属于文本类文件) fc命令 作 ...
- ssd物体检测模型训练和测试总结
参考网址:github:https://github.com/naisy/realtime_object_detection 2018.10.16ssd物体检测总结:切记粗略地看一遍备注就开始训练模型 ...
- vue数据请求显示loading图
一般项目中,有时候会要求,你在数据请求的时候显示一张gif图片,然后数据加载完后,消失.这个,一般只需要在封装的axios中写入js事件即可.当然,我们首先需要在app.vue中,加入此图片.如下: ...