函数基础详解

一、什么是函数

函数就是对一些代码进行封装。就是将一些可以重复利用的代码放在一个容器里面,在下次使用该功能的使用就不用重复写里面的代码,只需要调用这个函数就可以了。

二、定义函数

1、声明式
function 函数名(形参){函数体}
2、赋值式
var 函数名 = function(形参){函数体}

声明式函数与赋值式函数的区别: 声明式函数是可以在定义前使用的,而赋值式函数只能在定义后使用。

3、构造函数

构造函数的名字首字母要大写。并且在使用的使用还要添加“new 函数名”

function 函数名<首字母大写>(形参){}
        new 函数名()=====>调用函数
4、箭头函数

箭头函数是es6新增的函数
简写了代码,取消了function关键字

函数名=(形参)=>{函数体} 
let x=(a)=>{console.log(a);}

如果只有一个形参可以将()取消掉

函数名= 形参=>{函数体}
let x=a=>{console.log(a);}

如果函数体中只有一串代码可以将{}取消掉

函数名= 形参=>函数体
let x=a=>console.log(a);
三、参数

参数分为实参和形参。在调用函数时传入的参数是实参,在定义函数时的参数是形参。

let  function  fn(形参){}
     fn(实参)

如果形参比实参多,多余的实参就是nudefined
如果实参比形参多,就可以使用arguments来使用多余的实参
在这里插入图片描述
在这里插入图片描述

四、返回值:return

函数的返回值也叫函数的执行结果。
写在return后面的值就是返回的结果,返回的结果需要使用一个变量接收
如果在调用函数的时候,使用了一个变量接收了执行结果,但函数内没有返回值。那么这个返回的就是undefined

五、预解析

在js中有一个神奇的现象,就是先调用一个变量,后面再定义一个变,它会是nudefined,而不报错。
原因:在浏览器内部有一个js引擎,这个引擎负责网页中的js代码。它会偷偷的将var定义的变量和声明式函数放在脚本的最前面。如果在函数内部,它会将定义的变量放在函数的最前面。

六、作用域
1、全局作用域

全局作用域也叫window作用域,在全局作用域中定义的变量,在整个页面都是可以使用的。

2、局部作用域

在函数内部的作用域也叫局部作用域,在局部作用域中定义的变量叫局部变量,只能在当前作用域中才可以使用,外部是使用不了的。
函数的形参也属于局部变量,return的局部变量,并不会吧局部变量变成全局变量,只是返回了局部变量的值。

七、变量的访问规则与赋值规则
1、访问规则

在使用一个变量的使用,它会优先在自身的作用域中查找这个变量。如果找到就会使用,如果找不到,就会到父级作用域中查找,找到就会使用,找不到就会继续向上找。以此类推,直到
全局作用域为止,如果全局作用域也没有就会报错。

2、赋值规则

赋值规则与访问规则一样,会优先在自身作用域中找,找到就赋值,找不到就找父级作用域。以此类推,直到全局作用域,如果没有就会报错。

八、递归函数

递归函数就会在函数内部调用自身

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值