JavaScript的分支结构,循环结构,以及函数的定义使用,数组

JS分支结构

if语句

同java

  • if

  • if…else

  • if…else…if

     //案例:判断输入密码长度 
    let pwd = prompt("请输入密码");let L = pwd.length;if(L<6){alert("密码小于六位");}else if(L>=6 && L<16){alert("密码大于6位小于16位");}else if(L>=16){alert("密码大于16位");}
    
switch语句

同java:switch…case

var id = 1;
switch(id){case 1:console.log("普通会员");break; //停⽌执⾏,跳出switchcase 2:console.log("VIP会员");break; //停⽌执⾏,跳出switchcase 3:console.log("管理员");break; //停⽌执⾏,跳出switchdefault: //上述条件都不满⾜时,默认执⾏的代码console.log("游客");
}

JS函数的定义和使用

function函数是被设计为执⾏特定任务的代码块,可以重复使用,除内置函数外还可以自定义函数,在需要的地方调用函数,避免重复编写,有理由代码的后期维护

函数定义
  • JavaScript中函数声明要以 function 关键字开头,之后为要创建的函数名称, function 关键字必须为⼩写

  • function 关键字和函数名称之间⽤空格分开

  • 参数个数可以是任意个

    当参数给默认值,调用时没传参,就会用默认值作为参数

  • {}中写函数体

语法格式

function 函数名(参数){//函数体
}
  1. 无参函数

    参数个数为0;

    function sayHi(){console.log("hello,Everybody~");
    }
    
  2. 有参函数

    参数个数不为0

    function sayHi(str){console.log(str);
    }sayHi("Hello");  //调用传参
    
函数返回值
  • 当函数执⾏完的时候,很多时候并不⼀定要将结果打印出来,⽽是希望函数会返回⼀个结果值(⽐如计算的结果返回后进⾏后续的计算),返回的这个结果值就称为“返回值”
  • 在函数中通过 return 返回⼀个返回值
  • 返回值可以是任何类型,⽐如字符串、数字、数组、对象等
  • 返回的结果可以直接打印,或者使⽤⼀个变量来接受这个函数的返回值
函数表达式

另外⼀种声明函数的形式

关键字 变量名(函数名) = function(参数){//函数体
}
//示例
var getSum = function(num1,num2){var sum = num1+num2;return sum;
}console.log(getSum(10,20)) ;
匿名函数

就是没有名字的函数

  1. 如果只写⼀个匿名函数,不符合语法要求会报错,所以需要给匿名函数包裹⼀个 () 使之成为表达式

  2. 被⼩括号包裹起来的内容会被js识别为表达式

    //方法一
    (function(){alert("富强民主文明和谐");
    })();//方法二
    (function(){alert("自由平等公正法制");
    }());
    
函数作用域
  1. 局部作用域
    • 函数运⾏时,在函数内部形成了 局部作⽤域 ,在局部作⽤域中定义的变量叫做局部变量
    • 函数运⾏结束时局部变量会⾃动销毁
    • 函数内部可以可以访问函数外部的变量,函数外部不能访问内部的变量
  2. 全局作用域
    • 全局作⽤域指的是window,即当前窗⼝,window定义下的变量叫做全局变量
    • 全局变量在当前⽂档中有效
var num = 1;
function fun(){var num = 2;console.log("控制台中的num"+num);  //输出2
}
fun(); 
alert("弹框中的num"+num);             //输出1
===================================================
{var name1 = "成龙";   //var函数作用域let name2 = "小钰";   //let块级作用域
}
console.log(name1);   //输出成龙
console.log(name2);   //报错

JS数组创建

构造函数创造数组

可以使⽤ Array对象 来定义数组

  • values 表示数组中各个元素组成的列表
  • 多个元素之间⽤逗号 , 隔开
  • 如果只提供⼀个参数,那么这个数组表示数组的初始⻓度
var arr = new Array("大头儿子","小头爸爸","围裙妈妈");console.log(arr);
字面量创造数组

直接使⽤ [] 来定义数组

var arr = ["虹猫蓝兔七侠传","成龙历险记","神厨小福贵","神兵小将"];

JS循环

与JAVA中相同

while循环

while 循环适合在未知条件时使⽤

while(循环条件){//代码内容
}
do while循环

先执行后判断

do{//代码内容
}while(循环条件);
for 循环

适合在已知循环次数时使用

四个条件:初始值(只执行一次) 循环条件 条件迭代 循环语句

for(var i =1;i<10;i++){document.write(i+" ");
}
break

终止循环

continue

跳出当前循环,不影响下一次循环

for in 循环

for in 循环 是普通for循环的变体,主要⽤来遍历对象,可以将对象中的 属性 依次循环出来

for(variable in Object){//执行代码
}
  • variable是一个变量,每次循环时这个变量都会被赋予不同的值,可以在 {} 中使⽤变量进⾏⼀系列操作

  • Object 是要遍历的对象,每次循环中,会将 Object

    对象中的每⼀个属性的键赋值给变量 variable ,直到对象中的所有属性都遍历完。

for of 循环
  1. for of循环 是ES6中新增的⼀种循环⽅式,与 for in 类似,也是普通for循环的⼀种变体。
  2. 使⽤ for of 循环 可以遍历数组或其他可遍历的对象,如:字符串、对象等。
for(variable of iterable){//执行代码
}
  • variable 是⼀个变量,每次循环时变量会被赋予不同的值,我们可以在后⾯的 {} 中使⽤这个变量进⾏⼀系列操作
  • iterable 是要遍历的内容,每次循环中,会将 iterable 中的⼀个值赋予给变量 varible ,直到 iterable 中的所有值都遍历完

JS数组的方法

  1. isArray():判断是否为数组
  2. concat() :拼接两个或更多的数组,并返回结果
  3. pop():删除数组的最后⼀个元素并返回删除的元素
  4. push():向数组的末尾添加⼀个或更多的元素,并返回数组的⻓度
  5. shift():删除并返回数组的第⼀个元素
  6. unshift():向数组的开头添加⼀个或多个元素,并返回数组的⻓度
  7. index0f():搜索数组中的元素,并返回它所在的位置
  8. splice():⽤于添加或删除数组中的元素
  9. forEach() :数组每个元素都执⾏⼀次回调函数
  10. map():通过指定函数处理数组的每个元素,并返回处理后的数组

注意

  1. map速度比foreach快
  2. map会返回⼀个新数组,不会对原数组产⽣影响;foreach不会返回新数组,返回的是undefined
let arr = ["神厨小福贵","成龙历险记","神兵小将","哪吒传奇","虹猫蓝兔七侠传"];let arr1 = [1,2,3,4,5];let arr2 = ["存折","宇将军"];// let result = Array.isArray(a);// let result = arr.pop();// let result = arr.push("洛洛历险记");// let result = arr.shift();// let result = arr.unshift("果宝特攻");// let result = arr.indexOf("成龙历险记")// let result = arr.indexOf("小鲤鱼历险记")// let result = arr.concat(arr1);// let result = arr1.concat(arr);// let result = arr.concat(arr1,arr2);  //多个字符串拼接// let result = arr.splice(1,1);// let result = arr.splice(2);// let result = arr.splice(1,1,"香奈儿");// let result = arr.splice(1,1,"古驰","祖马龙");// console.log(result);// console.log(arr);// let result = arr.forEach(//     function(value , index, oldarr){//         // console.log(value+"==="+index+"==="+oldarr);//         return value,index,oldarr;//     }// )// let result = arr.map(//     function(value,index,oldarr){//         // console.log(value+"==="+index+"==="+oldarr);//         return value,index,oldarr;//     }// )console.log(result);

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

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

相关文章

聊聊统一认证中的四种安全认证协议(干货分享)

大家好&#xff0c;我是陈哈哈。单点登录SSO的出现是为了解决众多企业面临的痛点&#xff0c;场景即用户需要登录N个程序或系统&#xff0c;每个程序与系统都有不同的用户名和密码。在企业发展初期&#xff0c;可能仅仅有几个程序时&#xff0c;管理账户和密码不是一件难事。但…

一文彻底理解python浅拷贝和深拷贝

目录 一、必备知识二、基本概念三、列表&#xff0c;元组&#xff0c;集合&#xff0c;字符串&#xff0c;字典浅拷贝3.1 列表3.2 元组3.3 集合3.4 字符串3.5 字典3.6 特别注意可视化展示浅拷贝总结 四、列表&#xff0c;元组&#xff0c;集合&#xff0c;字符串&#xff0c;字…

Python爬虫实战(六)——使用代理IP批量下载高清小姐姐图片(附上完整源码)

文章目录 一、爬取目标二、实现效果三、准备工作四、代理IP4.1 代理IP是什么&#xff1f;4.2 代理IP的好处&#xff1f;4.3 获取代理IP4.4 Python获取代理IP 五、代理实战5.1 导入模块5.2 设置翻页5.3 获取图片链接5.4 下载图片5.5 调用主函数5.6 完整源码5.7 免费代理不够用怎…

【UE 模型描边】UE5中给模型描边 数字孪生 智慧城市领域 提供资源下载

目录 0 引言1 Soft Outlines1.1 虚幻商城1.2 使用步骤 2 Auto Mesh Outlines2.1 虚幻商城2.2 使用步骤 3 Survivor Vision3.1 虚幻商城3.2 使用步骤 结尾 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xf…

多线程---JUC

文章目录 什么是JUC&#xff1f;Callable接口ReentrantLockReentrantLock VS synchronized 原子类线程池信号量SemaphoreCountDownLatch 什么是JUC&#xff1f; JUC是&#xff1a;java.util.concurrent这个包名的缩写。它里面包含了与并发相关&#xff0c;即与多线程相关的很多…

【NeurIPS 2023】多模态联合视频生成大模型CoDi

Diffusion Models视频生成-博客汇总 前言:目前视频生成的大部分工作都是只能生成无声音的视频,距离真正可用的视频还有不小的差距。CoDi提出了一种并行多模态生成的大模型,可以同时生成带有音频的视频,距离真正的视频生成更近了一步。相信在不远的将来,可以AI生成的模型可…

C++ 指针

*放在哪里&#xff1f; 如果声明一个变量&#xff1a;int* b; 如果声明多个变量&#xff1a;int a,*b,*c; nullptr c11中NULL的变形&#xff0c;是一个特殊值&#xff0c;可以赋给任意类型的指针&#xff0c;代表该指针指向为空。 this指针 this指针不是一个const Test*(…

关于ABB 机器人多任务的建立

关于ABB 机器人多任务的建立.需要实时监控某一区域&#xff0c;或者某一信号&#xff0c;或者计件到达某一数量机器人自动停止报警&#xff0c;显示到示教器上&#xff0c;多任务可以实现&#xff0c;类似发那科机器人后台逻辑指令 当软件选项漏选或者少选可以选择修改选项&…

新恶意软件使用 MSIX 软件包来感染 Windows

人们发现&#xff0c;一种新的网络攻击活动正在使用 MSIX&#xff08;一种 Windows 应用程序打包格式&#xff09;来感染 Windows PC&#xff0c;并通过将隐秘的恶意软件加载程序放入受害者的 PC 中来逃避检测。 Elastic Security Labs 的研究人员发现&#xff0c;开发人员通常…

pycharm使用ssh连接远程jupyter

1. 安装jupyter pip install jupyter2. 生成jupyter_notebook_config.py文件 jupyter notebook --generate-config3. 设置命令参数 jupyter notebook --no-browser --allow-root --port 8900配置Jupyter服务器 将上面的代码复制到命令行实参中&#xff1a;

【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割7(数据预处理)

在上一节&#xff1a;【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割6&#xff08;数据预处理&#xff09; 中&#xff0c;我们已经得到了与mhd图像同seriesUID名称的mask nrrd数据文件了&#xff0c;可以说是一一对应了。 并且&#xff0c;mask的文件&#xff0c;还根据结…

Qt使用QWebEngineView一些记录

1.关闭软件警告&#xff1a; Release of profile requested but WebEnginePage still not deleted. Expect troubles! 原因&#xff0c;系统退出关闭view&#xff0c;没有释放page。 解决办法&#xff1a;手动释放page 顺便把view也释放了。 Widget::~Widget() {updateIni…

设计模式_状态模式

状态模式 介绍 设计模式定义案例问题堆积在哪里解决办法状态模式一个对象 状态可以发生改变 不同的状态又有不同的行为逻辑游戏角色 加载不同的技能 每个技能有不同的&#xff1a;攻击逻辑 攻击范围 动作等等1 状态很多 2 每个状态有自己的属性和逻辑每种状态单独写一个类 角色…

力扣第509题 斐波那契数 新手动态规划(推荐参考) c++

题目 509. 斐波那契数 简单 相关标签 递归 记忆化搜索 数学 动态规划 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&a…

git本地搭建服务器[Vmware虚拟机访问window的git服务器]

先按照https://zhuanlan.zhihu.com/p/494988089说明下载好Gitblit然后复制到tomcat的webapps目录下,如下: 双击"startup.bat"启动tomcat: 然后访问"http://127.0.0.1:8080/gitblit/"即可看到git的界面: 说明git服务器已经能够成功运行了! Vmware虚拟机…

k8s基本操作命令

目录 1、//查看资源对象简写 2、//查看集群信息 3、//配置kubectl自动补全 4、//node节点查看日志 5、//查看 master 节点状态 6、//查看命令空间 7、//查看default命名空间的所有资源 8、//创建命名空间app 9、//删除命名空间app 10、//在命名空间kube-public 创建…

Java电商平台 - API 接口设计之 token、timestamp、sign 具体架构与实现|电商API接口接入

一&#xff1a;token 简介 Token&#xff1a;访问令牌access token, 用于接口中, 用于标识接口调用者的身份、凭证&#xff0c;减少用户名和密码的传输次数。一般情况下客户端(接口调用方)需要先向服务器端申请一个接口调用的账号&#xff0c;服务器会给出一个appId和一个key, …

Android jetpack : Navigation 导航 路由 、 单个Activity嵌套多个Fragment的UI架构方式

Android Navigation 如何动态的更换StartDestination &&保存Fragment状态 Navigation(一)基础入门 google 官网 &#xff1a; Navigation 导航 路由 讨论了两年的 Navigation 保存 Fragment 状态问题居然被关闭了 Navigation是一种导航的概念&#xff0c;即把Activ…

anaconda+tensorflow安装完整步骤【亲测可用】

anacondatensorflow安装完整步骤 anaconda安装tensorflow1.安装anaconda2.下载windows版本进行下载并安装3.打开Anaconda Prompt4. 安装tensorflow PyCharm下载与安装1.官网下载pycharm社区版2.PyCharm环境配置3.测试 anaconda安装tensorflow 1.安装anaconda 官网下载anacond…

常用排序算法的理解

1.插入排序 插入排序的思想是将一个记录插入到已经排好序的有序表中&#xff0c;从而形成一个新的、记录数加1的有序表。在其实现过程使用双层循环&#xff0c;外层循环是进行插入的次数&#xff08;也可以理解为比较的轮数&#xff09;&#xff0c;内层循环是当前记录查找插入…