JS 函数 全局变量和局部变量 递归(深克隆) 闭包 立即执行函数IIFE

本文详细介绍了JavaScript中的函数,包括函数的定义与调用、参数、返回值、递归、深克隆、全局变量和局部变量的作用域以及遮蔽效应。此外,还讲解了闭包的概念及其应用,以及立即执行函数IIFE的作用和使用场景。
摘要由CSDN通过智能技术生成

函数

函数就是语句的封装,可以让这些代码方便地被复用

函数具有“一次定义,多次调用”的优点。使用函数可以简化代码,让代码更具有可读性。

 

函数的定义和调用

和变量类似,函数必须先定义然后才能使用

1.使用function关键字定义函数

function fun(){

           //函数语句

}

function表示定义函数

fun表示函数名,函数名必须符合JS标识符命名规则

圆括号中是形参列表,即使没有形参,也必须书写圆括号。

大括号中就是函数体语句

 

2.函数表达式

var fun=function(){

            //函数体语句

}

function()指匿名函数

 

函数的调用:执行函数体中的所有语句,就称为“调用函数”。

调用函数只需要在函数名称后书写圆括号对即可。

fun()

 

语句执行顺序

函数不调用,内部语句就不会执行;调用了函数,调用权就移交给函数;函数体内所有语句执行完毕,将语句执行权交还给主程序

 

函数声明的提升

和变量声明提升类似,函数声明也可以在预解析阶段被提升

注:函数表达式不能提升

 

函数优先提升

函数优先提升,变量声明提升,无法覆盖提升的函数;但函数之后不会覆盖回来

fun();//弹出B

var fun = function () {

       alert('A')

}

function fun() {

       alert('B')

}

fun()//弹出A

 

函数的参数

函数的参数:参数是函数内的一些待定值,在调用函数时,必须传入这些参数的具体值。函数的参数可多可少,函数可以没有参数,也可以有多个参数,多个参数之间需要用逗号隔开

function add(a,b) {

    var sum=a+b;

    console.log('两个数字的和是'+sum);

}

add(3,5);

圆括号中定义“形式参数”;调用函数时传入“实际参数”——“形实结合”

 

形参和实参个数不同的情况:

实参多于形参,会有实参没有形参接收;

形参多于实参,形参没有收到实参,值为undefined

 

arguments

函数内arguments表示它接收到的实参列表,它是一个类数组对象

类数组对象:所有属性均为从0开始的自然数序列,并且有length属性,和数组类似可以用方括号书写下标访问对象的某个属性值,但是不能调用数组的方法

function fun(){

     console.log(arguments); //[33, 34, 35]

     console.log(arguments[0]); //33

}

fun(33,34,35

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值