<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>函数基础知识</title>
<script>
//-------------------------------------------------函数定义-----------------------------------------------------
//函数:把一坨重复的代码进行封装,在需要的时候直接调用来用即可
//函数的作用:代码的重用
/*
* 函数的定义:
* function 函数名(){
* 函数体==============重复的代码
* }
*
函数的调用:
函数名();
*
* */
//函数定义
function cook(){
console.log("洗菜");
console.log("放油");
console.log("炒菜");
console.log("装盘");
}
//函数调用
//早上
cook();
//中午
cook();
//晚上
cook();
//----------------------------------------------函数注意问题----------------------------------------------------
/*
* 1、函数需要定义才能使用
* 2、函数名字要遵循驼峰命名法
* 3、函数名不能重名,一旦重名,后面的函数会把前面的函数覆盖
* 4、快捷键:ctrl + 鼠标左键 ------->转到定义 定义的函数名不雅耦合系统的函数名相同
* 5、一个函数最好只实现一个功能
* */
//----------------------------------------------函数的参数-------------------------------------------------------
//函数参数:
//在函数定义的时候,函数名字后面的小括号里面的变量就是参数,目的是函数在调用的时候,用户传进来的值操作
//此时定义变量后面的小括号里面的是形参,调用函数是括号里面的变量或者值是实参
//在函数调用的时候,按照提示的方式,给变量赋值,就叫传值,也就是把这个值传到实参变量中;
//形参(函数定义) 实参(函数调用)
//函数定义
function consoleSum1(){
var x=10;
var y=20;
var sum=x+y;
console.log(sum);
}
//函数调用
consoleSum1();
//改进1
//函数定义
function consoleSum2(x,y){ //定义函数的参数是形参
var sum=x+y; //函数第一个功能,计算和
console.log(sum); //第二个功能 ,输出和
}
//函数调用
consoleSum2(10,20); //调用函数的参数是实参
//改进2
//函数定义
function consoleSum3(x,y){ //定义函数的参数是形参
var sum=x+y;
console.log(sum);
}
//函数调用
var num1=10;
var num2 = 20;
consoleSum3(num1,num2); //调用函数的参数是实参
//改进3
//函数定义
// function consoleSum4(x,y){ //定义函数的参数是形参
// var sum=x+y;
// console.log(sum);
// }
// //函数调用
// var num1=parseInt(prompt("请输入第一个数字"));
// var num2=parseInt(prompt("请输入第二个数字"));
// consoleSum4(num1,num2); //调用函数的参数是实参
//--------------------------------函数返回值-------------------------------------------------------------------
//set 设置 get 获取
//函数返回值:在函数内部有关键字 return ,而且return 后面有内容 ,那么这个内容被返回
//当函数调用之后,需要这个返回值,那么就定义一个变量接收他即可
function getSum5(x,y) {
var sum = x+y; //第一个功能
console.log(sum); //第二个功能
}
getSum5(10,20);
//改进 前面所有的函数都是不规范的,这个才规范 (有参数有返回值的函数)
function getSum6(x,y) {
var sum = x+y; //只实现唯一的一个功能
return sum; //将sum的值返回给变量,也就是getSum(10,20)
}
var result = getSum6(10,20);
console.log(result);
//-----------------------------函数的参数和返回值的注意问题-----------------------------------------------------
//如果一个函数中有return,那么这个函数就有返回值,如果函数中没有return,那么就没有返回值
//形参的个数和实参的个数可以不一致 最好不要
//函数没有返回值,但是在调用的时候接收了,那么结果就是undefined
//变量声明了但是没有赋值,结果也是undefined
//如果一个函数没有明确的返回值,那么接收的数据结果就是undefined
// (没有明确返回值情况;一是没有return 二是有return 但是后面没有任何内容
//在函数内部,return后面的代码是不会再执行了
//有参数,有返回值
function f1(x,y) {
return x+y;
}
//有参数,无返回值
function f2(x) {
console.log(x);
}
//无参数,有返回值
function f3() {
return 100;
}
//无参数,无返回值
function f4() {
console.log("耍我的卡");
}
//------------------------------------函数案例------------------------------------------------------------------
function f1() {
console.log("ah");
return 100;
}
console.log(f1); //f1输出f1中的代码
console.log(f1()); // f1() 输出f1函数的返回值
//求两个数字的和
function getSum8(x,y) {
return x+y;
}
console.log(getSum8(10,20));
//求1到100之间所有数字的和
function geteverySum() {
var sum=0;
for (var i=1;i<=100;i++){
sum+=i;
}
return sum;
}
console.log(geteverySum());
//求m到n的所有数字的和
function getSum9(m,n) {
var sum = 0;
for (var i = m; i <= n; i++) {
sum += i;
}
return sum;
}
console.log(getSum9(1,4))
//求圆的面积
console.log(Math.PI)
function getS(r) {
return Math.PI*r*r;
}
console.log(getS(5));
//求1到100的累加值,但是遇到个位数为3的数就停止累加
//求1到100之间不能被7整除的的整数的和(用continue)
//求200到300之间所有的奇数的和(用continue)
//求三个数中的最大数
//判断一个数是不是素数
</script>
</head>
<body>
</body>
</html>