「这是我参与2022首次更文挑战的第36天,活动详情查看:2022首次更文挑战」
写在前头
大多数小伙伴看技术书籍都会用“啃”来描述读书的直观感受,当然我也是一个前端小白,白的透明那种,但是我在读技术书籍感觉到“啃”的时候,我希望把我啃红宝书第四版的过程的想法,总结带给大家,以供后来者能够更快上手。
注: 本文由于作者水平原因,如有错误之处,恳请大家指正,另外随着学习的深入,体会的加深,我会不断回来更新,修改这类文章。
思维导图
简述
函数这一章其实在有一定的编程基础,比如学过一点c语言就很好读下去。整体还是易读板块。
10.7函数声明与函数表达式
- JavaScript引擎执行代码顺序
① JavaScript 引擎在任何代码执行之前,会先读取函数声明,并在执行上下文中生成函数定义。
② 函数表达式必须等到代码执行到它那一行,才会在执行上下文中生成函数定义。
- 函数声明提升
函数声明会在任何代码执行之前先被读取并添加到执行上下文。
函数定义可以在函数调用之后
-
函数表达式不会提升
函数表达式中:函数定义包含在一个变量初始化语句中,而不是函数声明中。代码如果没有执行到加粗的那一行,那么执行上下文中就没有函数的定义。在未定义就先调用会报错。
-
2者区别
函数真正有定义的时候不一样。其他是一样的。
10.8函数作为值
函数名是一个变量:函数可以用在任何可以使用变量的地方
- 函数作为参数传给另一个函数
将函数作为参数传给其他函数并且把该函数返回。
function big(small, num) {
return small(num);
}
function small(num) {
return num * 10;
}
small函数作为参数传入了big函数,然后big函数将small函数返回。
- 在一个函数中返回另一个函数
书上写了一个函数中返回一个函数,可以通过传入的属性值。在要返回的那个函数内部来判断排序。