news 2026/4/15 5:45:48

JavaScript学习笔记 (二):流程控制、函数与自定义函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JavaScript学习笔记 (二):流程控制、函数与自定义函数

五、JS的三大流程控制:顺序控制、分支控制、循环控制

1、顺序控制:不控制其流程,就是顺序执行。

2、分支控制

①单分支

if(条件表达式){

语句

}

②双分支

if(条件表达式){

语句1

}else{

语句2

}

③多分支

if(条件表达式1){

语句1

}elseif(条件表达式2){

语句2

}elseif(条件表达式3){

语句3

}…………….

…….

强调一点:一旦找到一个满条件的入口,执行完毕后,就直接结束整个多分支流程

④switch多分支控制

switch(表达式){

case 常量1://常量可以是字符串,也可以是数值

语句1;

break; //break的作用是跳出整个switch

case 常量2:

语句2;

break;

case 常量n:

语句n;

break;

default://default可有可无

语句;

break;//最后一个break可有可无

}

总结:

JS的switch语句数据类型可以是JS支持的任何类型(数组和对象不考虑)

case 后面的值的数据类型可以是任意的,可以混杂使用

break作用是跳出整个switch

如果没有匹配的,则执行default语句

3、循环控制

①for循环

for(var i=0;i<5;i++){

document.writeln("你好!<br/>"); //writeln可以识别换行符,

}

②while循环

while(条件表达式){

执行语句;

}

例:

var a=0;

while(a<10){

document.writeln("你好!<br/>");

a++;

}

③do…while循环

do{

执行语句;

}while(条件表达式); //这里有分号不能漏掉

例:

var a=0;

do{

document.writeln("你好!<br/>");

a++;

}while(a<10);

案例:请编写一个程序,可以接收一个整数,并计算1+2+3+…n的值

var n=window.prompt("请输入一个整数");

n=parseInt(n);

var res=0

for(var i=1;i<=n;i++){

res+=I;

}

document.write("结果是"+res);

在浏览器中,我们可以通过调试工具来对JS代码进行调试,尤其是页面比较复杂的情况下,非常有用。请注意:首先要在Internet选项—高级 中取消 “禁止脚本调试”。

然后:工具—开发人员工具

六、JS函数与自定义函数

1、在html中引入js代码

<scriptlanguage="javascript"type="text/javascript">

</script>

language="javascript"type="text/javascript"主要是不同浏览器对JS的支持不同,有的不认language="javascript";有的不认type="text/javascript"。为实现兼容,可以两个都写

2、JS自定义函数

案例:编写一个程序,可以接收两个数,并接收一个运算符号(+、-、*、/),然后用运算符对两数进行运算。如果多个页面都要用到这个功能,就可以使用自定义函数。

function counter(num1,num2,oper){

var res=0;

switch(oper){

case "+":

res=num1+num2;

break;

case "-":

res=num1-num2;

break;

case "*":

res=num1*num2;

break;

case "/":

res=num1/num2;

break;

}

return res;

}

var a=window.prompt("请输入一个数");

var b=window.prompt("请输入另一个数");

var oper=window.prompt("请输入一个运算符号");

a=parseInt(a);

b=parseInt(b);

document.write(counter(a,b,oper));

如果其它html文件要使用该函数,要怎么办呢?

把上面的函数单独拿出,写到JS文件(xxx.js),然后在需要的地方引入即可

引入JS的格式:

<script language="javascript" src="xxx.js"></script>

JS文件的写法:直接function,不需要html的任何标记,如function.js的代码:

function counter(num1,num2,oper){

var res=0;

switch(oper){

case "+":

res=num1+num2;

break;

case "-":

res=num1-num2;

break;

case "*":

res=num1*num2;

break;

case "/":

res=num1/num2;

break;

}

return res;

}

上面就是一个完整的JS文件的全部代码

3、JS系统函数

eval()函数可计算某个字符串,并执行其中的的 JavaScript 代码,如:

eval("x=10;y=20;document.write(x*y)") =》得到200

②escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

unescape() 函数可对通过 escape() 编码的字符串进行解码。如:

var str1="平平";

var str2=escape(str1);

window.alert(str2);

var str3=unescape(str2);

window.alert(str3);

escape()和unescape()往往配合使用,防止乱码的出现

4、关于接收函数返回值的问题

var a=test()

window.alert(a);

如果test函数没有返回值,但你又接收了,则返回undefined

看一个递归函数

function abc(num1){

if(num1>3){

abc(--num1);

}
document.write(num1);

}

abc(5);

结果为:3 3 4

​​
特别强调一下:JS的函数天然支持可变参数个数,如:
编写一个函数,可以接任意多个数,并计算它们的和
function abc(){
//在JS中有一个arguments,可以访问所有传入的值
//window.alert(arguments.length);
for(var i=0;i< arguments.length;i++){
window.alert(arguments[i]);
}
}

可以这样调用:
window.alert("abc(45,20,\"hello\")");//打出字符串: abc(45,20,"hello");//调用函数
abc(45,20,"hello");
window.alert("abc(30)");
abc(30);
window.alert("abc()");
abc();


计算机科学与技术 & 计算机网络技术:双专业课程体系完全导航指南

下一章:JavaScript学习笔记 (三):数组、冒泡排序与二分查找

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 1:54:42

MouseTester终极指南:专业鼠标性能测试与精准测量技巧

MouseTester终极指南&#xff1a;专业鼠标性能测试与精准测量技巧 【免费下载链接】MouseTester 项目地址: https://gitcode.com/gh_mirrors/mo/MouseTester MouseTester是一款专业的鼠标性能测试工具&#xff0c;能够帮助用户准确评估鼠标的移动精度、点击响应速度和轨…

作者头像 李华
网站建设 2026/4/14 21:11:41

WeMod专业版免费解锁终极指南:简单快速获取高级游戏修改功能

WeMod专业版免费解锁终极指南&#xff1a;简单快速获取高级游戏修改功能 【免费下载链接】Wemod-Patcher WeMod patcher allows you to get some WeMod Pro features absolutely free 项目地址: https://gitcode.com/gh_mirrors/we/Wemod-Patcher 想要免费获得WeMod专业…

作者头像 李华
网站建设 2026/4/14 19:26:40

Steam成就管理终极指南:如何快速掌握SAM工具离线操作

Steam成就管理终极指南&#xff1a;如何快速掌握SAM工具离线操作 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager 还在为网络不稳定时无法管理游戏成就而烦…

作者头像 李华
网站建设 2026/4/14 7:06:50

解锁PC游戏新境界:DS4Windows让PlayStation手柄大放异彩

你是否曾经想过&#xff0c;为什么那些精美的PlayStation独占游戏不能在PC上完美体验&#xff1f;现在&#xff0c;通过一款神奇的软件——DS4Windows&#xff0c;你心爱的PS4/PS5手柄将不再是主机专属&#xff0c;而是成为PC游戏世界的得力助手。 【免费下载链接】DS4Windows …

作者头像 李华
网站建设 2026/4/14 18:47:16

ncmToMp3:解锁网易云音乐格式转换的魔法钥匙

ncmToMp3&#xff1a;解锁网易云音乐格式转换的魔法钥匙 【免费下载链接】ncmToMp3 网易云vip的ncm文件转mp3/flac - ncm file to mp3 or flac 项目地址: https://gitcode.com/gh_mirrors/nc/ncmToMp3 那天下班后&#xff0c;小王兴冲冲地打开网易云音乐&#xff0c;准备…

作者头像 李华
网站建设 2026/4/12 22:49:00

Cowabunga Lite完整指南:轻松打造专属iOS界面的终极方案

Cowabunga Lite完整指南&#xff1a;轻松打造专属iOS界面的终极方案 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite 你是否曾想过让你的iPhone与众不同&#xff1f;厌倦了千篇一律的iOS界面&…

作者头像 李华