当前位置: 首页 > news >正文

JS(二)数据类型,流程控制

JS(二)数据类型,流程控制

一数据类型

  • 将数据类型分为基础数据类型和引用数据类型。

01 基础数据类型

包括:Number、NaN、String、undefined和Boolean。

  • Number:表示数字类型,可以包含整型值和浮点型值。
  • NaN:表示非数字类型,当数学计算过程中出现非Number类型时,计算结果为NaN。
  • String:表示字符串类型,需要使用单引号或双引号包裹起来。
  • undefined:表示变量没有被赋值,或者手动赋值为undefined。
  • Boolean:表示布尔类型,只有true和false两种值。

02 引用数据类型

包括:Array和Object。

  • Array:表示数组类型,常用于存放一组意义相同的数据。

  • Object:表示对象类型,常用于存放相关度高的信息数据,以键值对的形式组织。

  • 通过这些数据类型,我们可以灵活地处理不同的数据。例如,可以使用Number类型进行数学计算,使用String类型进行字符串操作,使用Array和Object类型组织复杂的数据结构。

  • 以下是一个基于上述数据类型的示例代码:

// 基础数据类型示例
var num = 10;
var str = "Hello World";
var bool = true;
var arr = [1, 2, 3];
var obj = { name: "John", age: 25 };console.log(num); // 输出:10
console.log(str); // 输出:Hello World
console.log(bool); // 输出:true
console.log(arr); // 输出:[1, 2, 3]
console.log(obj); // 输出:{ name: "John", age: 25 }// 修改数据值
num = 20;
str = "Goodbye";
bool = false;
arr.push(4);
obj.age = 30;console.log(num); // 输出:20
console.log(str); // 输出:Goodbye
console.log(bool); // 输出:false
console.log(arr); // 输出:[1, 2, 3, 4]
console.log(obj); // 输出:{ name: "John", age: 30 }

二流程控制

  • 控制代码的执行顺序是编程中非常重要的一个概念,它可以通过流程结构来实现。在程序中,常见的流程结构包括顺序结构、分支结构和循环结构。

01 顺序结构

  • 顺序结构是最简单、最基本的流程结构,程序会按照代码的先后顺序依次执行。没有特定的语法结构,代码会一行接着一行地执行。

02 分支结构

  • 分支结构根据不同的条件,执行不同的路径代码,从而得到不同的结果。常见的分支结构有单分支语句、双分支语句、多分支语句和三元表达式。

    • 单分支语句:如果条件表达式的结果为真,则执行if中的代码;否则直接跳过。

    • 双分支语句:如果条件表达式的结果为真,则执行if中的代码;否则执行else中的代码。

    • 多分支语句:按顺序判断if、else if中的表达式,执行第一个为真的代码;否则执行else中的代码。

    • 三元表达式:双分支结构的简写法,根据条件表达式的结果返回不同的值。

    • switch语句:根据不同的条件执行不同的代码块,可用于固定值条件判断。

03 循环结构

  • 循环结构用于重复执行某些语句,以完成具有规律的重复操作。常见的循环结构有for循环、while循环和do…while循环。

  • for循环:在指定的条件满足时重复执行一段代码,可指定循环的起始值、终止条件和每次循环后的操作。

  • while循环:在指定的条件满足时重复执行一段代码,只需指定循环的条件。

  • do…while循环:先执行一次循环体,再判断条件是否满足,如果满足则继续执行循环。

  • 循环结构中还有两个关键字:

    • continue:终止本次循环,直接执行下一次循环。

    • break:立即终止并跳出循环。

相关文章:

  • 药业“钉”上云端:与钉钉共舞数字化新时代
  • 傅里叶变换pytorch使用
  • Openfeign+Ribbon+Hystrix断路器(服务降级)
  • Vue 双向数据绑定
  • 使用docker安装logstash的具体方法
  • 网络安全: Kali Linux 使用 MSF 漏洞利用
  • 部署 Web 项目到Linux上
  • 智慧灯杆-智慧城市照明现状分析(1)
  • Android Studio Iguana | 2023.2.1版本
  • 基于斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)的无人机三维路径规划(MATLAB)
  • 检测虚拟机环境的常见技术
  • 前端架构: 脚手架通用框架封装之添加测试框架(教程六)
  • css相邻元素边框重合问题,解决方案
  • 【内推】新风口-大模型独角兽公司minimax
  • MySQL GTID 简介 原理 应用场景 优点 注意事项
  • ➹使用webpack配置多页面应用(MPA)
  • CSS实用技巧
  • Django 博客开发教程 8 - 博客文章详情页
  • ES学习笔记(12)--Symbol
  • java 多线程基础, 我觉得还是有必要看看的
  • mongo索引构建
  • node-glob通配符
  • python docx文档转html页面
  • Spring Cloud Feign的两种使用姿势
  • 安卓应用性能调试和优化经验分享
  • 模型微调
  • 前端设计模式
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 云大使推广中的常见热门问题
  • 如何用纯 CSS 创作一个货车 loader
  • #每天一道面试题# 什么是MySQL的回表查询
  • $ git push -u origin master 推送到远程库出错
  • ${factoryList }后面有空格不影响
  • (0)Nginx 功能特性
  • (175)FPGA门控时钟技术
  • (8)STL算法之替换
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (南京观海微电子)——示波器使用介绍
  • (强烈推荐)移动端音视频从零到上手(上)
  • (转)EXC_BREAKPOINT僵尸错误
  • .Net小白的大学四年,内含面经
  • @Bean注解详解
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [ C++ ] STL_list 使用及其模拟实现
  • [240527] 谷歌 CEO 承认 AI 编造虚假信息问题难解(此文使用 @gemini 命令二次创作)| ICQ 停止运作
  • [5] CUDA线程调用与存储器架构
  • [Angular] 笔记 20:NgContent
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)
  • [c++进阶(九)] STL之deque深度剖析
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!
  • [HTML]HTML5实现可编辑表格