函数
知识点
- 概念:就是封装了一段可以重复调用执行的代码块
- 使用:
(1)声明函数:
①function 函数名(){函数体 }
②函数表达式(匿名函数) var 变量名 = function(){}
(2)调用函数: 函数名();
(3)封装函数:把多个函数封装,对外只提供一个接口(相当于快递打包)- 参数(可以有,可以没有,个数不限)
①形参:在声明函数的小括号里面是形参,形参接收实参的(形式上的参数)
②实参:在函数调用的小括号里面是实参(实际上的参数)
③形参与实参个数匹配问题:实参多于形参,正常调用,多的剔除;形参少于实参,没有的形参是undefined,结果为NaN
- 返回值——return语句
function 函数名(){
return 需要返回的结果;
} 函数名();
(1)函数只是实现某种功能,最终的结果需要返回给函数的调用者函数名();。通过return实现
(2)只要函数遇到return,就把后面的结果返回给函数的调用者
(3)return语句后面的代码不会被执行
(4)return只能返回一个值(返回的结果是最后一个值)
(5)如果想返回多个值可选择数组的方式
(6)函数如果没有return则返回undefined※注意事项:
(1)function声明函数的关键字,全部小写
(2)函数是做某件事,因此函数名一般为动词
(3)函数不调用自己不执行
(4)调用函数时记得加小括号
案例
判断素数
function su() {
for (j = 2; j <= num; j++) {
if (num % j == 0) {
// 如果能够求余得0,跳出循环,判断这个数是不是num自身
break;
} else {
// 如果求余不等于0,继续循环
continue;
}
}
if (j == num) {
// 如果最后求余得0的数是num本身,说明没有num其他数求余等于0,num是素数
return '是素数';
} else {
// 如果最后求余得0的数不是num本身,说明有num其他数求余等于0,num不是素数
return '不是素数';
}
}
var num = prompt('请输入想查询的数字:');
alert(num + su());
※拓展: break、continue、return的区别
·break:结束当前循环
·continue:跳出本次循环,继续执行下次循环
·return:不仅可以退出循环,还能够返回return语句中的值,同时还能结束当前的函数体内的代码
计算器
function suan() {
var result = 0;
var chose = prompt('jisuanfangshi');
switch (chose) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
break;
}
return result;
}
var num1 = Number(prompt('diyi'));
var num2 = Number(prompt('dier'));
console.log(suan());
比大小
function big() {
var da = '第一个数最大';
var db = '第二个数最大';
var dc = '第三个数最大';
if (num1 > num2) {
if (num1 > num3) {
return da;
} else {
return dc;
}
} else if (num2 > num3) {
return db;
} else {
return dc;
}
}
var num1 = Number(prompt('请输入第一个比较的数'));
var num2 = Number(prompt('请输入第二个比较的数'));
var num3 = Number(prompt('请输入第三个比较的数'));
alert(big());
1-100内有多少个素数
function su() {
var no = 0;
for (var i = 100; i >= 2; i--) {
for (var j = 2; j <= i; j++) {
if (i % j == 0 && i != j) {
no++;
break;
} else {
continue;
}
}
}
sushu = 100 - no;
return sushu;
}
alert('1-100内共有' + su() + '个素数');