【循环结构·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 + 2a -= 1; // 此时的 a = 4,相当于 a = a - 1a *= 6; // 此时的 a = 3,相当于 a = a * 6a /= 2; // 此时的 a = 18,相当于 a = a / 2

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

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

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

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

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

程序执行结构方式

分支结构

if 语句。

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

switch 语句。

 var score = 5; // 定义一个名为 score 的变量,且赋值为 5switch (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 去遍历数组时,返回的是数组元素的下标值

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(2024,SaFaRI,双三上采样和 DFT,空间特征和频率特征)基于扩散模型的图像空间和频率感知恢复方法

Spatial-and-Frequency-aware Restoration method for Images based on Diffusion Models 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 方法 3.1 修改数据保真度 3.2 …

HBuilder使用[微信小程序开发者工具] 显示 × initialize报错

解决办法 我们先要单独打开 微信开发者工具 点击设置里面的安全,把服务器端口打开 然后再回到我们的HBuilder使用重新打开打开 成功打开

统计图表在线配置服务-百度 SugarBI的学习笔记

最近&#xff0c;有个产品要支持统计图表在线可配置&#xff0c;这样&#xff0c;当用户有新增统计指标的需求时&#xff0c;运维人员通过界面化配置&#xff0c;就可以增加统计指标了&#xff0c;不用开发写代码&#xff0c;画页面了。 上网查了下相关的组件&#xff0c;感觉…

滑动窗口最终弹

力扣30.串联所有单词的子串&#xff08;巨困难&#xff09; 这个最难的是什么 1.代码的编写 2.容器的使用 class Solution {List<Integer>retnew LinkedList<>();//保存字典中所有单词的频次public List<Integer> findSubstring(String s, String[] words) …

基于ecal的foxglove studio可视化工具的使用

ecal通讯在自动驾驶和机器人中的应用越来越多,在调试测试过程中,可以使用ecal monitor,ecal recoder和ecal player等工具,对ecal 消息进行监测录制回播。但是,有时候需要对消息进行可视化查看,比如雷达点云信息,相机图像等,可以使用foxglove studio可视化工具。 Foxg…

【开源】SpringBoot框架开发农村物流配送系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理&#xff1a;2.2.2 位置信息管理&#xff1a;2.2.3 配送人员分配&#xff1a;2.2.4 路线规划&#xff1a;2.2.5 个人中心&#xff1a;2.2.6 退换快递处理&#xff1a;…

机器学习_12_梯度下降法、拉格朗日、KKT

文章目录 1 梯度下降法1.1 导数、梯度1.2 梯度下降法1.3 梯度下降法的优化思想1.4 梯度下降法的调优策略1.5 BGD、SGD、MBGD1.5.1 BGD、SGD、MBGD的区别 2 有约束的最优化问题3 拉格朗日乘子法3.1 拉格朗日乘子法理解3.2 对偶问题 4 KKT条件4.1 KKT条件理解4.2 KKT公式理解4.3 …

【甲方安全建设】DevOps初体验

文章目录 前言传统的开发方式&#xff1a;Docker-解决环境问题 DevOps-CI/CD走向流水线Jenkins工作流程Git拉取代码Maven构建打包通过SSH连接后端服务器 实现效果 DevSecOps-安全赋能关于安全平台漏洞扫描漏洞预警TODO 前言 临近春节&#xff0c;笔者经过半年北漂&#xff0c;…

Flutter 应用服务:主题、暗黑、国际化、本地化 - app_service库

Flutter应用服务 主题、暗黑、国际化、本地化 app_service库 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/det…

TensorFlow2实战-系列教程6:猫狗识别3------迁移学习

&#x1f9e1;&#x1f49b;&#x1f49a;TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 猫狗识别1 数据增强 猫狗识别2------数据增强 猫狗识别3------迁移学习 1、迁移学习 …

【linux】校招中的“熟悉linux操作系统”一般是指达到什么程度?

这样&#xff0c;你先在网上找一套完整openssh升级方案&#xff08;不是yum或apt的&#xff0c;要源码安装的&#xff09;&#xff0c;然后在虚拟机上反复安装测试&#xff0c;直到把他理解了、背下来。 面试的时候让你简单说说linux命令什么的&#xff0c;你就直接把这个方案…

uniapp中echart实例

1&#xff0c;自定义仪表盘 797_1706772047 index.vue import { useGaugeStore } from "/stores/utils"; const { currentValueEndAngle, currentSplitNumber } storeToRefs(useGaugeStore() ); const gaugeStore useGaugeStore();const wenduGauge ref<chart…