javascript5-函数

本文详细介绍了JavaScript中的函数概念,包括函数的定义、分类、作用域及常见应用实例等。通过具体的代码示例,读者可以了解如何创建不同类型的函数,并掌握如何求解数值运算问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

</head>


<body>

<input type="button" name="btn" id="btn" value="点我点我" />


<script type="text/javascript">

// 函数

// 定义:具有一定功能的代码段 可重用的代码段

// 相当于把一定功能的几句代码,捏合成一个单词

// 定义一个函数

// function 函数名(参数列表){

// 函数体;

// alert("1", 2, 3);

//              return 返回值;

// }

// function: 函数声明标识符                                            

// 函数名:用来表示函数,也用来调用函数

// 参数列表:由外部传入函数内部进行使用的值

// 函数体:完成函数功能的语句

// return:由函数内部往外传送的值(可有可无需要就加);

// 函数的分类

// 按形式分类:可分为四类:

// 1.无参数,无返回值

function openRoom1() {

alert("春宇最喜欢的日韩");

}

// 函数调用

// openRoom1();

// 2.无参数,有返回值

function openRoom2() {

return "春宇最喜欢的克罗地亚" + 1;

}

var str = openRoom2();

// alert(str);

// alert(openRoom2);

// 3.有参数,无返回值

// 相当于favor = 保加利亚;

function openRoom3(favor) {

alert("春宇最喜欢的" + favor);

}

// openRoom3("保加利亚");

// 4.有参数,有返回值

function openRoom4(favor, money) {

return "春宇最最喜欢的" + favor + "还花了" + money;

}

// openRoom4("欧美");

// alert(openRoom4("欧美", "$50"));

// 练习:定义一个函数求两个数的和

function sum(num1, num2) {

return Number(num1) + Number(num2);

}

var str = sum(1, 2);

// 练习:定义一个函数求两个数的商

function quotient(num1, num2) {

return num1 / num2;

}

var jieguo = quotient(10, 2);

// alert(jieguo);

// 定义一个函数求一个整数型元素数组的和

// 数组十个元素取值范围是[50 -100]

var arr = Array(10);

// var sum = 0;

for (var i = 0; i < arr.length; i++) {

arr[i] = Math.floor(Math.random() * (100 - 50) + 50);

// sum = sum + arr[i];

}

// alert(arr);

// alert(sum);

function sumarr(array1) {

var sum = 0;

for (var i = 0; i < array1.length; i++) {

sum = sum + array1[i];

}

return (sum);

}

// alert(sumarr(arr));

// 练习:求1 - n的和

// function sumN(n) {

// var sum = 0;

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

// sum = sum + i;

// }

// return (sum);

// }

// alert(sumN(100));

// return 返回值

// 一个函数中只能有一个return

// return 执行之后下面的代码不执行,函数使命结束

function sum2(num1, num2){

return Number(num1) + Number(num2);

}

var sum22 = sum2(2, 5);

// alert(sum22);

// 变量的作用域问题

// 函数内部定义的变量,只在函数内部生效,当函数执行完毕之后失效。(局部变量)

// 在外部定义的变量,可以在函数中使用。(全局变量)

var a2 = "hello";

function test1(){

var a = 10;

alert(a);

alert(a2);

}

// test1();

// a 我不认识它

// alert(a);

// 函数:按命名来分类

// 两种:命名函数与匿名函数

// 匿名函数:没有实际名字的函数

var oBtn = document.getElementById("btn");

// 1. 事件绑定

// 点击按钮(触发事件)时才调用,不触发不调用

// oBtn.onclick = function (){

// alert("点点点");

//

// }

// 2. 存于变量中

var func = function (favor){

// alert("我保存在变量中" + favor);

};

// func("萌萌哒");

// 练习:求两个数的最大值

function max1(num1, num2){

return num1 > num2 ? num1 : num2;

// var max = max1(5, 20);

// alert(max);

// 练习:求三个数的最大值

function max2(num1, num2, num3){

var max = num1 > num2 ? num1 : num2;

max = max > num3 ? max : num3;

return max;

// return max1(num1, num2) > num3 ? max1(num1, num2) : num3;

}

// var bestMax = max2(5, 45, 10);

// alert(bestMax);

// 求四个数的最大值

function maxFour(num1, num2, num3, num4){

// 函数的嵌套调用

return max2(num1, num2, num3) > num4 ? max2(num1, num2, num3) : num4;

}

var bestMax = maxFour(5, 45, 10, 60);

// alert(bestMax);


// 练习:产生一个给定范围内的随机数[min max][30 70]

function randoms(min, max){

var num = Math.floor(Math.random() * (max - min + 1) + min);

return num;

}

// alert(randoms(50, 100));

// 定时器

// 1. 单次计时器

// 参数1:时间结束之后执行的代码(函数)

// 参数2:时间,多久之后执行(毫秒)

// function fn1(){

// alert("春宇已经饿哭了");

// }

// var timer1 = setTimeout(fn1, 2000);

// 复合写法

// var timer2 = setTimeout(function(){

// alert("春宇已经渴哭了");

// }, 1000)


// 2. 循环定时器

// 参数1:循环执行的函数

// 参数2:时间间隔

var timer3 = setInterval(function(){

alert("循环定时器");

}, 2000)

// 关闭定时器

// clearTimeout(timer1); // 关闭单次定时器

// clearInterval();        // 关闭循环定时器

// 练习点击按钮 关闭循环定时器

oBtn.onclick = function (){

clearInterval(timer3);

}

</script>

</body>


</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值