JavaScript基础(第一部分 -- 简介、注释、输入输出、变量、数据类型、运算符、流程控制)(四)

简介: JavaScript基础(第一部分 -- 简介、注释、输入输出、变量、数据类型、运算符、流程控制)(四)

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


相关文章
|
6天前
|
前端开发 JavaScript 安全
JavaScript进阶-JavaScript库与框架简介
【7月更文挑战第11天】JavaScript库和框架加速Web开发,但也带来挑战。选择适合项目、团队技能的库或框架,如React、Angular、Vue,是关键。保持依赖更新,注意性能优化,避免过度依赖。遵循最佳实践,确保安全性,如防XSS和CSRF。学习基础,结合代码示例(如React计数器组件),提升开发效率和应用质量。
|
12天前
|
资源调度 JavaScript 前端开发
JavaScript进阶 - JavaScript库与框架简介
【7月更文挑战第5天】JavaScript库和框架构成了前端开发的核心,如jQuery简化DOM操作,Angular、React和Vue提供全面解决方案。选择时要明确需求,避免过度工程化和陡峭学习曲线。使用版本管理工具确保兼容性,持续学习以适应技术变化。示例展示了jQuery和React的简单应用。正确选择和使用这些工具,能提升开发效率并创造优秀Web应用。
|
11天前
|
前端开发 NoSQL 数据库
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
|
14天前
|
存储 JavaScript 前端开发
|
12天前
|
JavaScript
js【详解】typeof 运算符
js【详解】typeof 运算符
8 0
|
12天前
|
存储 JavaScript 前端开发
js【详解】数据类型原理(含变量赋值详解-浅拷贝)
js【详解】数据类型原理(含变量赋值详解-浅拷贝)
11 0
|
12天前
|
JavaScript
JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
|
13天前
|
JavaScript 数据安全/隐私保护
node.js 命令行的命令注册和配置工具(最新版) commander.js 实用教程(含自研脚手架的创建流程)
node.js 命令行的命令注册和配置工具(最新版) commander.js 实用教程(含自研脚手架的创建流程)
17 0
|
14天前
|
JavaScript 前端开发 数据安全/隐私保护
|
15天前
|
存储 JavaScript 前端开发
面试官:JS中变量定义时内存有什么变化?
面试官:JS中变量定义时内存有什么变化?
13 0