数据类型-函数数据类型function

函数:就是一个方法或者一个功能体,函数就是把实现某个功能的代码放到一起进行封装,以后想要操作实现这个功能,只需要把函数执行即可=>“封装”:减少页面中重复的冗余代码,提高代码重复使用率(低耦合高内聚)。
  洗衣机就是一个函数,生产洗衣机就是封装一个函数(把实现某些功能的代码封装进来),生产的时候不知道用户洗衣服的时候用什么水,什么洗衣粉,洗衣液,柔顺剂,洗什么衣服等,我们需要提供入口(提供的入口在函数中叫做形参,执行的时候放的具体的东西叫做实参),洗完衣服需要能拿出来,洗衣机提供一个出口(在函数中叫做返回值:把函数处理后的结果能够返回给外面用)

  • 创建函数
    • 形参
    • 返回值
  • 执行函数
    • 实参
  • arguments
  • 函数底层运行机制

创建函数

//=>ES5 老方式
function [函数名]([形参变量1], ...){
    //函数体: 基于JS完成需要实现的功能
}
//执行函数
[函数名]([实参1], ...)
/*
sum:函数名,代表这个函数
sum():让函数执行,代表的是函数执行返回的结果
n/m:是形参,是变量,用来存储函数执行时传递的实参
1/2:是实参,传递给形参变量的值
*/
function sum(n,m){
 let  result = n+m;
 result *=10;
 result /= 2;
 console.log(result);
}
sum(1,2)

形参的细节

创建函数的时候我们设置了形参变量,但如果执行的时候并没有传递给对应的实参值,那么形参变量默认的值是:undefined

function sum(n,m){
 let  result = n + m;
 result *=10;
 result /= 2;
 console.log(result);
};
sum();//=>NaN
sum(10);//=>NaN
sum(10,20);//=>150
sum(10,20,30);//=>150

所以会先做一个形参默认处理:如果没有传递形参,给予一个默认值,这样就不会出现NaN了。

function sum(n,m){
if(typeof n === "undefined"){
    n = 0;
}
if(typeof m === "undefined"){
    m = 0;
};
// 
 let  result = n + m;
 result *=10;
 result /= 2;
 console.log(result);
};
sum();//=>0
sum(10);//=>50
sum(10,20);//=>150
sum(10,20,30);//=>150

函数的中的返回值

函数执行的时候,函数体内部创建的变量,我们是无法获取的或者操作的,如果想要获取内部的信息, 我们需要基于RETURN返回值机制,把信息返回才可以。

RETURN的一定是值,如果没有写return,函数默认返回值是undefined。

函数体中遇到return,后面代码则不在执行。(循环体遇到continue和break也会停止循环)

function sum(n,m){
    if( n === undefined|| m === undefined){
        return ;//后面代码则不在执行。
    }
    let  result = n + m;
    //此处是把result变量存储的值返回给外面
    return result; // return 30;
};
let aa = sum(10,20);//此处必有有一个变量接收返回的值,才可以获取到sum函数内部result存储的值。
console.log(aa);//=> Uncaught ReferenceError: result is not defined

匿名函数

匿名函数之函数表达式:把一个匿名函数本身作为值赋值给其他东西,这种函数一般不是手动触发的,而是靠其他程序驱动触发执行(触发某个时间的时候把函数执行)

// document.body.onclick = ;
// setTimeout(function(){},1000);//=> 设置定时器,1000MS后执行匿名函数
// 匿名函数之自执行函数:创建完一个匿名函数,紧接着就把当前函数加小括号执行
(function () {
    n = 100
})(100)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值