运算符
IsNaN();判断一个变量的值是不是数字(值是不是数字);
如果返回的结果是false,代表是数字。
如果返回的结果是true,代表不是数字。
一、算数运算符
加、减、乘、除、取余、()
加法 +:
注意事项:如果都是数字类型相加,最后的结果就是数字类型。/
如果在相加的过程中,只要有一个是字符串类型,那么最后的结果都是字符串类型(拼接字符串)
减法 -:
注意事项:
1.如果都是数字类型相减,最后的结果就是数字类型
2.如果是字符串类型的数字相减,最后的结果是数字类型(发生了隐式类型转换)
3.如果是非数字的字符串类型相减,最后的结果NaN
乘法*
注意事项:
1.如果都是数字类型相乘,最后的结果就是数字类型
2.如果是字符串类型的数字相乘,最后的结果是数字类型(发生了隐式类型转换)
3.如果是非数字的字符串类型相乘,最后的结果NaN
除法 /
注意事项:与乘法运算的特征一样
取余 % (获取余数)
注意事项:与乘法运算的特征一样
() :优先级
注意事项:
1.在计算过中遇到(),先计算()中的内容
2.如果是()进行优先计算的时候,外部不能在使用[]
二、赋值运算符
= :赋值运算符,作用是用来给变量赋值运算的,不是进行相等比较的。
+= :语法糖写法。.
a +=b ;本质上就是 a = a + b
-= :a +=b ;本质上就是 a = a + b
*= :a *= b;本质上就是 a = a * b
/= :a /= b;本质上就是 a = a / b
三、比较运算符
> 大于
< 小于
>= 大于或等于
<= 小于或等于
== 相等如果变量的值是相等的,那么最后的结果就是相等的。
=== 全等 必须保证数据类型和值都一样。
!= 不等于 值不相等,就是不相等的。
!== 全不等于 值和数据类型不一样。
总结:
1. 通过比较运算以后得到的结果是布尔类型的结果。
2. >= <= 只要满足其中一个结果就可以了(或者的意思)
四、逻辑运算符
|| :或运算
特征:true || true === true
true || false === true
false || false === false
&& :且运算(与运算)
特征:true && true === true
true && false === false
false || false === false
! :非(取反的意思)
特征:!true === false
!false === true
总结:
当程序中出现需要将多个条件连接到一块的时候,可以用逻辑运算符。
或运算特征:在进行或运算的时候,只要有一个条件成立,最后的结果都是成立的。
且运算特征:在进行且运算的时候,只要有一个条件不成立,最后的结果就不成立。
非运算特征:取反。
五、一元运算符
++
--
一元运算符的本质:就是在原来值的基础上加1或者 减1
先++和 后++ 的区别:
当把一元运算后的结果赋值给一个新的变量,这个变量的值有区别。
1、如果是b = ++a,a永远都要加1,由于加号在前,先对变量a加1,然后将加1后的值赋值给变量b (先计算后赋值)
2、如果是b = a++,a永远都要加1,由于加号在后,先把变量a原来的值赋值给变量b,最后变量a再加1 (先赋值后计算)
分支语句
为什么学分支语句?
为了保证程序在运算(运行)过程中,合理性。
语法:
1、条件判断:
if(条件) {
对应的逻辑代码1
}else {
对应的逻辑代码2
}
条件判断语法执行顺序:
程序按照从上向下执行
执行if中的条件,判断一下判断的结果是否成立(是否为true)
如果条件成立(true),那么程序就执行 逻辑代码1,逻辑代码2不执行。
如果条件不成立(false),那么程序就执行 逻辑代码2,逻辑代码1不执行。
条件判断中可以继续嵌套条件判断。
如果else中没有相关的代码处理,else可以省略。
例:
var sex = prompt('您的性别是?');
if (sex == '男') {
alert('先生你好')
} else {
alert('女士你好')
}
条件判断中可以设置多个条件,使用逻辑运算符连接。
var age = prompt('年龄是?');
var sex = prompt('性别是?');
if (age >= 18 && age <= 35 && sex == '男') {
alert('应聘成功');
} else {
alert('应聘失败');
}
接收用户输入一个数字,判断一个数是偶数还是奇数【将非法输入考虑进去】
var value1 = Number(prompt('请输入数字1'));
var value2 = Number(prompt('请输入数字2'));
if (isNaN(value1) == false && isNaN(value2) == false) {
if (value1 > value2) {
alert('最大值是第一个');
} else {
alert('最大值是第二个');
}
} else {
alert('请输入合法的数字');
}
2、多条件判断:
if(条件1) {
逻辑代码1;
}else if(条件2) {
逻辑代码2;
}else if(条件3) {
逻辑代码3
}else {
逻辑代码4
}
执行顺序:
1、程序从上向下依次执行
2、先判断条件1是否成立(true,false),如果条件1成立,程序执行逻辑代码1,其他代码不执行。
3、如果条件1不成立,然后判断第二个条件,如果条件2成立,则执行逻辑代码2,其他代码不执行。
4、如果条件2不成立,则继续向下执行。
5、所有的条件都不成立,最后执行else中的代码。
3、三元表达式(三目运算符):
三元表达式在执行顺序上,其实与单条件判断是一样的(是单条件判断的另外一种写法)
在比较的过程中会实现对变量进行赋值运算
语法:
条件?逻辑代码1 : 逻辑代码2;
执行顺序:
1.先判断条件是否成立, 如果条件成立那么就执行逻辑代码1
2.如果条件不成立,就执行逻辑代码2
总结:
// 1.三元表达式最好替换单条件判断
// 2.三元表达式也可以嵌套使用
// 3.程序过程中,哪些语法简单就用哪种
断点调试:
使用步骤:
1、先运行程序
2、打开浏览器控制———选择sources选项卡。
3、点击对应的HTML页面程序。
4、在浏览器中设置断点(在程序对应的行号前点击鼠标左键,目前推荐将断点设置到代码的第一行位置处)
5、刷新页面,重新执行程序。
6、点击F10或者下一步(查看程序执行的过程及上一步执行的结果)
如何观察变量值的变化:
1、直接将鼠标放到变量上。
2、将变量(或者条件填到监视窗口中)【1.直接在监视窗口中添加 2.选中对应的变量,点击鼠标右键,选择添加到监视窗口】