1.什么是表达式
2.JavaScript操作符的分类
加:+
减:-
乘:*
除:/
取余:%
<html>
<head>
<title>运算title>
head>
<body>
<script type="text/javascript">
var num1 = 10,num2 = 5;
alert(num1+num2); //15
//最简单的算数运算
script>
重点:
1.递增:++a与a++都是对a进行递增的操作
区别:++a先返回递增知乎的值
<html>
<head>
<title>运算title>
head>
<body>
<script type="text/javascript">
var a=1;
alert(++a); //2
//先进行递增再返回值(本身为1,++在前,就是先加在返回)
script>
a++则是先返回a本身的值,在本身再进行递增
<html>
<head>
<title>运算title>
head>
<body>
<script type="text/javascript">
var a=1;
alert(a++); //1
//返回自身再进行递增
script>
2.递减的操作也是一样的
在算数操作符里,还有一个叫隐式转换
<html>
<head>
<title>运算title>
head>
<body>
<script type="text/javascript">
var num1 = 10,num2 = "5";
//隐式转换
alert(num1*num2); //50
alert(num1-num2); //5
//如果是字符串呢
var str = "c";
alert(num1 - str) //NaN
//当你使用+号时
alert(num1+str); //10+c
//这是因为浏览器把+看成了连接符
script>
简单的赋值:=
复合赋值:+=、-=、*=、/=、%=
<html>
<head>
<title>运算title>
head>
<body>
<script type="text/javascript">
var a = 5;
//a = a +5 麻烦的写法
a+=5;
alert(a);
//他们的结果都为10,其他都一样操作
var str = "Hello"
str+="world"
alert(str) //起到连接作用
script>
== 、 ===
<html>
<head>
<title>运算title>
head>
<body>
<script type="text/javascript">
var x = 10, y = "10";
z = x ==y; //只比较值
console.log(z) //true
z= x === y; //比较值同时也比较类型
console.log(z) //false
script>
body>
html>
!== 、 !===
<html>
<head>
<title>运算title>
head>
<body>
<script type="text/javascript">
var x = 10,y="10";
//!=为取反操作
z = x != y //false
z = x !== y; //true
console.log(z)
script>
body>
html>
语法:条件?执行代码1:执行代码2
说明: 可以替代简单的if语句;(效率高且更加简洁)
如果条件成立,执行代码1,否则执行代码2.
<html>
<head>
<title>运算title>
head>
<body>
<script type="text/javascript">
var soce = 85;
var result = (soce >= 60)?"及格":"不及格";
console.log(result); //及格
//soce>=60为true,返回第一条执行代码。
script>
body>
html>
<html>
<head>
<title>逻辑运算title>
head>
<body>
<script type="text/javascript">
var num1 = 10,num2 = 20,num3 = 30;
console.log(num1<num2 && num2 ==num3);//false
console.log(num2 < num3 && num3 > num1); //true
script>
body>
html>
说明: 在有一个操作数不为布尔值得情况,逻辑与操作就一定返回值,此时它遵循下列规则:
<html>
<head>
<title>逻辑运算title>
head>
<body>
<script type="text/javascript">
//之前讲过所有的字符串除了""为false,其余都为true,所有数字除0以外,其余全为true
var num3 = 30,
str = "welcome";
console.log(str && num3) //30(返回第二个操作数)
console.log(80 && 50 && "hello"); //hello 多于两位,则返回最后一位
script>
body>
html>
<html>
<head>
<title>逻辑运算title>
head>
<body>
<script type="text/javascript">
var n =null, num3 = 20;
colsole.log(n && num3) //null
script>
body>
html>
||:或
只要有一个为true,就返回true。
<html>
<head>
<title>逻辑运算title>
head>
<body>
<script type="text/javascript">
console.log(0 || "abc") //abc
script>
body>
html>
说明: 在有一个操作数不为布尔值得情况,逻辑与操作就一定返回值,此时它遵循下列规则:
<html>
<head>
<title>逻辑运算title>
head>
<body>
<script type="text/javascript">
console.log("hello" || 0); //hello
console.log(99 || 0 || "abc"); //99
console.log("" || 0 || "abc"); //abc
script>
body>
html>
!:非
<html>
<head>
<title>逻辑运算title>
head>
<body>
<script type="text/javascript">
console.log(!false); //true
console.log(!88); //false
console.log(!0); //true
console,log(!null) //true
script>
body>
html>
<html>
<head>
<title>逻辑运算title>
head>
<body>
<script type="text/javascript">
console.log(!!false); //false
console.log(!!""); //false
script>
body>
html>