【循环结构·js】

变量命名原则

变量名由字母、下划线、$ 或数字组成,并且必须由字母、下划线、$ 开头。
变量名不能命名为系统关键字和保留字。

JS代码在sourse里面调试

在这里插入图片描述

document.write(str); /*在页面上输出变量 str 的值*/

数据类型的分类

为什么要标识数据类型:

不同的数据类型占有的存储空间不同,如果不标识数据类型的话,计算机会给不同的数据类型分配相同的储存空间,这就造成了资源浪费
不同的数据类型在进行运算的时候,需要进行转换,同类型的数据才能进行计算,

区别(基本数据类型和引用数据类型)

  1. 传参方式不同,基本数据类型是值传递,而引用数据类型是地址传递。
  2. 储存方式不同,基本数据类型是栈存储,而引用数据类型是堆存储。

基本数据类型

字符串(string)、数字(number)、布尔(boolean)、空(null)、未定义(undefined)
正常计算

  var a = 5;
      var b = a;
      a++; // 相当于 a+1 的意思
      
//a=6
//b=5

引用数据类型

对象(object)

 var a = new Object(); // 创建一个对象
      a.name = "小花";
      var b = a;
      a.name = "小蓝";

//a.name=小蓝
//b.name=小蓝

因为引用类型传递的是地址,所以 a 对象的数据改变,b 对象的数据也会改变

typeof(查看数据类型)

  var a = 1; // 整型
      var b = "2"; // 字符串
      var c = true; // 布尔类型
      console.log("a 的数据类型是:" + typeof a);
      console.log("b 的数据类型是:" + typeof b);
      console.log("c 的数据类型是:" + typeof c);

在这里插入图片描述

算术运算符

在 JavaScript 中有七种算术运算符:加 +、减 -、乘 *、除 /、取余 %、自加 ++、自减 –

 var b = 10;
      var result6 = --b; // 变量 b 做自减
      document.write(result6 + "<br>");
      var result7 = 9 % 2; // 对 9 和 2 做余运算
      document.write(result7 + "<br>");

效果如下:在这里插入图片描述

  var a;
      var i = 10;
      a = i++;
      document.write("变量 a 的值为 " + a + "<br>");
      document.write("变量 i 的值为 " + i);

在这里插入图片描述
++ 写在变量后面,先执行了赋值运算,所以变量 a 输出的值为 10,然后 i 再进行自加,所以变量 i 输出的值为 11。
比较运算符
比较运算符是比较操作数,并根据表达式判断为真或为假,来返回一个布尔类型的值。
赋值运算符
有五种赋值运算符:=、+=、-=、*=、/=。

  var a = 2;
      a += 2; // 相当于 a = a + 2
      a -= 1; // 此时的 a = 4,相当于 a = a - 1
      a *= 6; // 此时的 a = 3,相当于 a = a * 6
      a /= 2; // 此时的 a = 18,相当于 a = a / 2

逻辑运算符
0 代表假(false),用 1 代表真(true)

 var a = 0 && 1; // 0 和 1 做与运算,结果为 0
      var b = 0 || 1; // 0 和 1 做或运算,结果为 1
      var c = !1; // 非 1 的结果为 false

条件运算符
条件运算符也可叫三目运算符,可以用来判断条件的真假,根据真假执行不同的语句。

条件表达式 ? 表达式1 : 表达式2

当条件表达式的结果为 true,则问号后面的「表达式 1」将会执行;如果条件表达式结果为 false,则冒号后面的「表达式 2」将会执行。

程序执行结构方式

分支结构

if 语句。

if (条件表达式) {
} else if (条件表达式) {
} else {
}

switch 语句。

 var score = 5; // 定义一个名为 score 的变量,且赋值为 5
      switch (
        score // 判断 score 是否有对应的编号,若有,在页面上输出相应的内容
      ) {
        case 1:
          document.write("等级一");
          break;
        case 2:
          document.write("等级二");
          break;
        case 3:
          document.write("等级三");
          break;
        case 4:
          document.write("等级四");
          break;
        case 5:
          document.write("等级五");
        default:
          break;
      }

当我们只需要对几个固定的值进行判断时,可以选择用 switch 语句,其他情况建议选择 if 语句,因为 if 语句可读性更强。

循环结构

循环结构就是当满足判断条件,程序就一直在循环体中运行;当不满足条件时,退出循环。

while 语句

当满足条件时,便执行 while 语句中的内容,这种循环属于先判断再执行

while (条件) {}

do…while 语句

do…while 语句是先执行一次循环体再判断是否符合条件。

  do {
        document.write(num);
        num++;
      } while (num < 10);

for 语句

for 语句,会设置一个初始值,循环条件,当不满足条件时退出循环。

  var num = 10;
      for (var n = 0; n < num; n++) {
        document.write(n);
      }

for…in 语句

for…in 语句循环一个指定的变量来循环指定对象的所有可枚举属性。

 var arr = ["小红", "小蓝", "小白", "小黑"];
      for (i in arr) {
        r = "欢迎" + arr[i] + "来到蓝桥云课。" + "</br>";
        document.write(r);
      }

效果如下在这里插入图片描述
当使用 for…in 去遍历数组时,返回的是数组元素的下标值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/366947.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java开发岗面试】八股文—微服务、消息中间件

声明&#xff1a; 背景&#xff1a;本人为24届双非硕校招生&#xff0c;已经完整经历了一次秋招&#xff0c;拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验&#xff08;主要是校招&#xff09;&#xff0c;包括我自己总结的八股文、算法、项目介绍、HR面和面试…

IT部门规划:构建高效、创新的技术引擎

序言 在当今这个信息化、数字化的时代&#xff0c;IT部门的重要性日益凸显。一个高效、创新的IT部门&#xff0c;不仅是企业稳定运营的保障&#xff0c;更是推动企业持续发展的核心动力。那么&#xff0c;如何规划一个优秀的IT部门呢&#xff1f; 一、明确IT部门的战略定位 …

window 安装 jenkins 编写脚本

set JAVA_HOMED:\RuanJianKaiFa\jdk\jdk11 set CLASSPATH.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOMe%\lib\tools.jar; set Path%JAVA_HOME%\bin; java -jar jenkins.war 下载jenkins.war包&#xff0c;编写一个txt文档&#xff0c;把脚本复制进去&#xff0c;修改文件后缀为.bat文件…

SpringCloud服务通信

目录 Ribbon实现服务通信 创建工程product-basic-provider&#xff08;提供者&#xff09; 创建工程product-img-provider&#xff08;提供者&#xff09; 创建工程product-detail-api&#xff08;消费者&#xff09; OpenFeign实现服务通信 创建工程product-detail-api-…

Linux 磁盘空间占用率100%的排查

&#x1f4d1;前言 使用 Linux 操作系统时&#xff0c;可能会遇到磁盘空间不足的错误&#xff0c;这种错误通常会导致系统运行缓慢或崩溃。本文将介绍磁盘排查的方法。⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1…

Redis进阶(一):持久化

持久化 何为持久化&#xff1f; MySQL的事务有四个比较核心的特征&#xff1a;原子性、一致性、持久性和隔离性&#xff0c;这里的持久性和持久化说的是一个事&#xff0c;简单来说&#xff0c;数据存储在硬盘上就是持久&#xff0c;存在内存上那就是不持久&#xff08;重启之后…

FANUC机器人示教器的菜单变成了图标,如何改成列表的形式?

FANUC机器人示教器的菜单变成了图标&#xff0c;如何改成列表的形式&#xff1f; 如下图所示&#xff0c;开机后按下MENU菜单键时&#xff0c;发现原来的列表形式变成了菜单图标的形式&#xff0c;同时在按F1-F5键时&#xff0c;提示&#xff1a;HMI模式-键不可用&#xff0c; …

Github处理clone慢的解决方案

Github设置代理clone依然慢的解决方案 1、前提&#xff1a;科学上网 注意&#xff1a; 必须要有科学上网&#xff01;必须要有科学上网&#xff01;必须要有科学上网&#xff01;重要的事情说三遍&#xff1b; 2、http/https方案&#xff08;git clone时使用http&#xff09…

电脑怎么录屏?打造专业级视频内容!

随着科技的进步&#xff0c;电脑已经深入到我们的日常生活和工作中。而在这个数字时代&#xff0c;录制屏幕内容变得日益重要。无论是制作教程、分享游戏技巧&#xff0c;还是记录重要的演示&#xff0c;录屏都是一个不可或缺的功能。可是电脑怎么录屏呢&#xff1f;本文将深入…

LeetCode:138. 随机链表的复制之如何有效copy

自己复制的话&#xff0c;很容易写出来一个时间复杂度O&#xff08;n ^ 2&#xff09; 空O&#xff08;n&#xff09;的做法 我们可以参考基因的复制&#xff0c; 目录 题目&#xff1a; 实现思路&#xff08;基因复制式的copy&#xff09;&#xff1a; 官方快慢指针解法&…

跟着cherno手搓游戏引擎【18】抽象Shader、项目小修改

抽象&#xff1a; Shader.h: #pragma once #include <string>namespace YOTO {class Shader {public:virtual~Shader()default;virtual void Bind()const0;virtual void UnBind()const0;static Shader* Create(const std::string& vertexSrc, const std::string&am…

20240202在Ubuntu20.04.6下使用whisper.cpp的CPU模式

20240202在Ubuntu20.04.6下使用whisper.cpp的CPU模式 2024/2/2 14:15 rootrootrootroot-X99-Turbo:~/whisper.cpp$ ./main -l zh -osrt -m models/ggml-medium.bin chs.wav 在纯CPU模式下&#xff0c;使用medium中等模型&#xff0c;7分钟的中文视频需要851829.69 ms&#xf…

算法学习——华为机考题库2(HJ11 - HJ20)

算法学习——华为机考题库2&#xff08;HJ11 - HJ20&#xff09; HJ11 数字颠倒 描述 输入一个整数&#xff0c;将这个整数以字符串的形式逆序输出 程序不考虑负数的情况&#xff0c;若数字含有0&#xff0c;则逆序形式也含有0&#xff0c;如输入为100&#xff0c;则输出为0…

个人网站如何让搜索引擎收录

当我们花费功夫搭建好个人网站&#xff0c;如何能让搜索引擎搜索到个人网站呢&#xff1f;比如百度&#xff0c;根本百度不到自己网站的内容。这时候就要使用到搜索引擎提供的站点收录功能了&#xff0c;但是点开百度的搜索资源平台&#xff0c;添加自己的站点时&#xff0c;就…

帮管客CRM SQL注入漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

地理坐标系、空间坐标系、epsg查询网站

坐标系可用范围和详细信息的查询网站 简介 epsg.ruiduobao.com是一个可以查询gdal中所有坐标系信息的网站&#xff0c;可查询到坐标系的基准面、椭球体、中央子午线等相关信息&#xff0c;并对每个坐标系的可用范围在地图中进行了显示。详细信息可以看操作视频&#xff1a; e…

使用D3.js和React绘制动画条形图

摘要: 将条形图分解为独立组件:容器、坐标轴和条形。使用SVG和D3.js绘制这些组件。使用React的callback ref在DOM中渲染它们。 使用D3绘制图表像搭建乐高 使用D3.js绘制图表时,你处理各种独立组件 —— 很像乐高积木。你单独建造组件,然后将它们组装在一起创建最终图表。这适…

Qt 范例阅读: QStateMachine状态机框架 和 SCXML 引擎简单记录(方便后续有需求能想到这两个东西)

一、QStateMachine 简单应用&#xff1a; 实现按钮的文本切换 QStateMachine machine; //定义状态机&#xff08;头文件定义&#xff09;QState *off new QState(); //添加off 状态off->assignProperty(ui->pushButton_2, "text", "Off"); //绑定该…

MacBook安装软件时允许任何来源的软件

MacBook安装软件时允许任何来源的软件 临时设置允许未知来源的app 当下载网上的软件并安装时,会安装失败, 因为MacOS默认只允许安装App Store上的软件 这时可以临时允许安装,如下设置 开启设置—->安全性与隐私—->未知来源的app 这种方式比较安全 设置允许任何来源…

基于WordPress开发微信小程序2:决定开发一个wordpress主题

上一篇&#xff1a;基于WordPress开发微信小程序1&#xff1a;搭建Wordpress-CSDN博客 很快发现一个问题&#xff0c;如果使用别人的主题模板&#xff0c;多多少少存在麻烦&#xff0c;所以一咬牙&#xff0c;决定自己开发一个主题模板&#xff0c;并且开源在gitee上&#xff…