函数的概念
在程序设计中,将一段经常使用的代码“封装”起来,需要时可以直接进行调用
函数的定义
function fn1() {
console.log('声明式');
}
var fn = function () {
console.log('声明式');
}
函数的调用
函数名()
声明式与赋值式的区别
声明式可以在函数前调用,赋值式不能在函数前调用
函数的预解析
浏览器预解析后,赋值式函数需要变量提升,提升后函数形如 未定义的变量,所以打印后值为undefined,而声明式在预解析时不需要声明提升,所以可以正常输出
函数的参数
函数的参数:函数有了参数才可以实现执行不同的代码块以及输出不同的结果,函数的参数分为形参和实参
形参:写在声明函数的小括号里的参数,意为形式上的参数
实参:写在调用函数的小括号里的参数,意为实际上的参数
function fun1(a,b){
调用函数执行的语句;
}
fun1(a1,b1);
函数的参数默认值
function fun1(a , b = 100 , c = 300){ //fun1是函数名
//b=100、c=300即为函数的默认参数,在调用时未传入实参,b c的值为100 300,当传入实参时,b c的返回值为传入的实参
console.log(a,b,c);
}
fun1(20); //形参比实参多,按照顺序依次传入, a=300, b c的默认值不会被发生改变 b c的值还是100和300
fun1(300,100); //形参比实参多,按照顺序依次传入, a=300 b=100 c的默认值不会被发生改变还是300
fun1(400,700,1200); //实参和形参数量一样多,a=400,b的默认参数100会被传入的实参700替代,c的默认参数300会被1200替代
函数的调用案列
- 书写一个函数, 求任意两个数字的和, 把结果打印在控制台
var fun5 = function(a , b){
console.log('a+b=', a+b);
}
fun5(400,200);
var fun5 = function(a , b){
console.log('a+b=', a+b);
}
fun5(400,200);
- 书写一个函数, 求任意两个数字的和, 把结果输出在页面上
function fun3(a , b){
document.write('a+b=',a+b);
}
fun3(120,30);
var fun6 = function(a , b){
document.write('a+b=',a+b);
}
fun6(120,30);
- 书写一个函数, 求任意两个数字的和, 把结果以弹窗的形式展示
function fun1(a , b){
alert('a+b='+(a+b));
}
fun1(200,300);
var fun4 = function(a , b){
alert('a+b='+(a+b));
}
fun4(200,300);
函数的返回值
每一个函数都有返回值, 不管是否写了返回值
每个函数 默认都会有返回值 ---> 默认返回 undefined
如果我们自己手写了 返回值, 那么就不会返回默认值了, 返回的是 我们书写的
函数返回值书写语法
return 要返回的内容
注意点:
函数的返回值具有中断函数的功能, 所以我们手写返回值需要放在最后
课堂练习
- 封装一个函数, 判断一个数字是不是质数
function fun1(n) {
var prime = true;
for (var i = 2; i < n; i++) {
if (n % i == 0) {
prime = false;
}
}
if (prime) {
return true;
} else {
return false;
}
}
console.log(fun1(7));