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 的操作 ...
随机推荐
- 1004. Max Consecutive Ones III最大连续1的个数 III
网址:https://leetcode.com/problems/max-consecutive-ones-iii/ 参考:https://leetcode.com/problems/max-cons ...
- time_wait 和 close_wait
tcp 四次握手状态图: 使用以下命令统计 tcp 连接信息: netstat -n |awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}' ...
- ftp/sftp定时自动上传文件脚本(CentOS)
1.ftp自动上传文件脚本 #!/bin/bash ftp -n<<! open 192.168.220.129 user ls toor binary hash cd /path/to/ ...
- Struts 2 初步入门(一)
搭建Struts 2环境步骤 下载jar包----->创建web项目---->创建并完善相关配置文件---->创建action并测试启动 下载jar包访问网站:http://stru ...
- html5手机web app <input type="file" > 只调用图库,禁止调用摄像头?
<input type="file" accept="image/*"><input type="file" accept ...
- go中for循环使用多个变量避坑
go for循环语法为: for expression1, expression2, expression3 { // ... } 使用多个变量时,使用平行赋值,需要留意的是expression3处的 ...
- bzoj1666
题解: 简单模拟 按照题目意思来就可以了 代码: #include<bits/stdc++.h> using namespace std; int n,ans; int main() { ...
- OOP ⑴
1.面向对象 类和对象的关系 类是我们在生活中,对身边的一系列事物,进行的不自觉的分类! 只是脑海中的一个印象! 在现实生活中,不存在! 存在的是我们这个印象的具体反映! 对象:用来描述客观事物的一个 ...
- MySQL mysql server与存储引擎
mysql server系统架构 逻辑模块组成: mysql逻辑模块可以分为两层架构,第一层是sql layer主要包括权限判断.sql解析.执行计划优化.query cache的处理等:第二层是存储 ...
- JQuery button控制div或者section
一.项目你需求 点击左边导航栏的某个按钮,右边内容栏显示出,相应的内容 效果如图 二.html与css.jQuery 1.div模式 <!DOCTYPE html PUBLIC " ...