学习笔记(7)Function

1,函数基础

1.1,函数声明

关键词function:声明一个函数,
格式:function 函数名(参数列表){函数体}

function people(name, age, sex) {
    console.log('我是' + name + ',今年'+ age + '了,我是' + sex )
};

在js函数中声明的变量,会成为函数的局部变量。局部变量只能在函数内访问。
局部变量在函数开始时创建,在函数完成时被删除。

function sayHi() {   // (1) 创建
	let name = 'long'
  alert( "Hello" );
}

let func = sayHi;    // (2) 复制

func(); // Hello     // (3) 运行复制的值(正常运行)!
sayHi(); // Hello 

解释一下上段代码发生的细节:
(1) 行声明创建了函数,并把它放入到变量 sayHi。
(2) 行将 sayHi 复制到了变量 func。请注意:sayHi 后面没有括号。如果有括号,func = sayHi() 会把 sayHi() 的调用结果写进func,而不是 sayHi 函数 本身
现在函数可以通过 sayHi() 和 func() 两种方式进行调用。

1.2,函数调用

函数调用格式为:函数名(实参列表)。
实参:函数调用时,传递的参数。

people('king',24,'帅锅');   //"我是king,今年24了,我是帅锅"

people('大妹子',24,'美美');   // "我是大妹子,今年24了,我是美美"

调用函数时,函数的函数体代码会被执行,函数中的参数值就是本次调用所传递进去的。
函数调用本身也是一个表达式,表达式的值就是函数的返回值。

1.3,函数返回

当js执行到达 return 语句,函数将停止执行。
如果函数被某条语句调用,js将在调用语句之后“返回”执行代码。

function people(name, age, sex) {
    console.log(name)
    console.log(age)
    return 123;
    console.log(sex)
}

let men = people("小明", 30, true);
console.log(men)
/* 控制台输出
* 小明
* 30
* 123
*/

作用域:每一个参数都有一个作用范围,超过范围就失效,这个范围就叫作用域

2,函数防抖

对于调用频率很高或频繁调用的函数,有时只希望其第一次或最后一次执行,那么可以使用定时器对函数进行改造,这个过程叫做函数防抖。
简单来说:一段时间内重复触发,只执行开始一次和结尾一次,或者只执行结尾那次。

函数防抖需要一个防抖时间,使用settimeout定时器记录函数的调用时间,当函数再次调用时,重置定时器时间(取消上次的定时器,然后开启一个新的定时器)。

3,函数节流

对于频繁调用或调用频率很高的函数,希望其按照指定的频率(一般小于本身频率)进行调用,则可以使用定时器对函数进行改造,这个过程叫做函数节流。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒鼎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值