5.5.3 计算年龄案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script> var year = prompt('请输入你的初始年份....') // 变量接收的值为字符串 console.log( typeof year ) var age = 2022 - year // year 隐式转换为数字型 alert('你的年龄为'+ age + '岁') </script> </body> </html>
5.5.4 转换为布尔型
代表空、否定的值会被转换为 false ,如 ‘’、0、NaN、null、undefined ,其余值都会被转换为 true。
// 代表空或否定的值转布尔值 console.log(Boolean('')) console.log(Boolean(0)) console.log(Boolean(NaN)) console.log(Boolean(null)) console.log(Boolean(undefined)) // 非空、不为否定的值 console.log(Boolean('123')) console.log(Boolean(1)) console.log(Boolean(-1)) console.log(Boolean(Infinity)) console.log(Boolean(-Infinity))
6. 解释型语言和编译型语言
6.1 概述
6.2 执行过程
7. 运算符
运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
JavaScript中常用的运算符有:
- 算数运算符
- 递增和递减运算符
- 比较运算符
- 逻辑运算符
- 赋值运算符
7.1 算数运算符
算术运算使用的符号,用于执行两个变量或值的算术运算。
console.log(1+1) console.log(2-1) console.log(3*2) console.log(3/3) console.log(3/2) console.log(4%2) // 取模即求4/2的余数 可以整除,余数为0 console.log(3%2) // 不能整除 余数为1
判断 一个数能够被整除:
余数是0 就说明这个数能被整除, 这就是 % 取余运算符的主要用途
7.2 浮点数的精度问题
浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数。
在计算机中数的存储采用的是二进制,二进制无法精确的表示小数,所以会造成精度不准确的结果。
var result = 0.1 + 0.2; // 结果不是 0.3,而是:0.30000000000000004 console.log(0.07 * 100); // 结果不是 7, 而是:7.000000000000001
不要直接判断两个浮点数是否相等
7.3 表达式和返回值
表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合
表达式是由数字、运算符、变量等组成的式子
比如:
1+1 a+1 1*12 12/2 ...
表达式最终都会有一个结果,返回给我们,我们成为返回值(表达式运算的结果)
7.4 递增和递减运算符
如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减( – )运算符来完成。
在 JavaScript 中,递增(++)和递减( – )既可以放在变量前面,也可以放在变量后面。放在变量前面时,我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。
注意:递增和递减运算符必须和变量配合使用。
递增和递减运算符就是让变量加一或减一
前置递增递减和后置递增递减:
- 前置递增递减和后置递增递减运算符可以简化代码的编写,让变量的值 + 1 或 -1 比以前写法更简单
- 单独使用时,运行结果相同
- 前置递增递减和后置递增递减的区别:
主要在于变量+1或-1的返回值是在什么时候进行返回。
前置的返回值在变量加一或减一之后返回;而后置是在变量加一或减一之前返回返回值。
符号在前变量先+1或-1再返回值参与后面的运算,符号在后先返回变量的值参与后面的运算再该变量+1或-1。 - 后置:先原值运算,后自加(先人后己)
- 前置:先自加,后运算(先已后人)
- 开发时,大多使用后置递增/减,并且代码独占一行,例如:num++; 或者 num–;
var a = 10 ++a // a = 11 a递增,a+1 var b = ++a + 2 // 前置,a先+1,再返回12参与运算 b = 12+2 = 14 console.log(b) // 14 var c = 10 c++ // c递增,c = 11 var d = c++ + 2 // 后置,先返回值参与运算,c再+1,d = 11+2,c = 11+1 = 12 console.log(d) // 13 var e = 10 // 等号右边从左向右计算 // 第一个e // 后置 先返回值参与运算,e再+1 // f = 10 + ++e,e = 10+1 = 11 // 第二个e // 前置,e先+1,再返回值参与运算 // e = 11+1 = 12 // f = 10 + 12 = 22 var f = e++ + ++e console.log(f) // 22
7.5 比较运算符
比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。
// 除了 === !== 其他比较运算符会进行隐式转换 console.log(2>'1') // t console.log(2>1) // t console.log(1<3) // t console.log(4<'3') // f console.log(3>='3') // t console.log(3>=2) // t console.log(4<=4) // t console.log(4==4) // t console.log(4=='4') // t console.log(4!='4') // f // 全等不会进行隐式转换 // 会比较数值和数据类型 console.log(4!=='4') // t console.log(4==='4') // f