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


相关文章
|
2月前
|
搜索推荐 Shell
bpmn-js打造最强flowable流程设计器
在企业系统中,流程引擎至关重要。Flowable虽强大,但默认设计器功能有限。本文基于 bpmn-js 打造增强版 Flowable 设计器,支持丰富自定义属性与后端联动。bpmn-js 优势明显:原生支持 BPMN 2.0、可扩展性强、社区活跃。节点涵盖多种事件、任务、网关等,满足复杂业务需求。示例效果可见在线预览。
|
4月前
|
JavaScript 前端开发 开发者
JavaScript基础——JavaScript变量名称命名规范
JavaScript变量命名规范是编写高质量代码的重要部分。通过遵循基本规则、使用常见命名约定并应用最佳实践,可以提高代码的可读性和可维护性。希望本文能帮助开发者在日常编程中更好地理解和应用JavaScript变量命名规范,从而编写出更清晰、更可靠的代码。
228 11
|
5月前
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
119 32
|
6月前
|
JavaScript 前端开发 容器
盘点JavaScript中所有声明变量的方式及特性
本文详细介绍了JavaScript中变量定义的多种方式,包括传统的`var`、`let`和`const`,以及通过`this`、`window`、`top`等对象定义变量的方法。每种方式都有其独特的语法和特性,并附有代码示例说明。推荐使用`let`和`const`以避免作用域和提升问题,谨慎使用`window`和`top`定义全局变量,不建议使用隐式全局变量。掌握这些定义方式有助于编写更健壮的JS代码。
108 11
|
7月前
|
存储 JavaScript 前端开发
JavaScript中的数据类型以及存储上的差别
通过本文的介绍,希望您能够深入理解JavaScript中的数据类型及其存储差别,并在实际编程中灵活运用这些知识,以提高代码的性能和稳定性。
117 3
|
7月前
|
存储 JavaScript NoSQL
Node.js新作《循序渐进Node.js企业级开发实践》简介
《循序渐进Node.js企业级开发实践》由清华大学出版社出版,基于Node.js 22.3.0编写,包含26个实战案例和43个上机练习,旨在帮助读者从基础到进阶全面掌握Node.js技术,适用于初学者、进阶开发者及全栈工程师。
127 9
|
8月前
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
8月前
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
216 12
|
8月前
|
存储 JavaScript 前端开发
js中的数据类型
JavaScript 中的数据类型包括五种基本类型(String、Number、Undefined、Boolean、Null)和三种引用类型(Object、Array、Function,以及ES6新增的Symbol)。基本类型直接存储值,引用类型存储的是指向实际数据的内存地址。了解它们的区别对于掌握 JavaScript 的变量赋值和函数传参至关重要。
88 1
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
206 2

热门文章

最新文章