带你读书之“红宝书”:第十章 函数⑧

简介: 带你读书之“红宝书”:第十章 函数⑧

写在前头

大多数小伙伴看技术书籍都会用“啃”来描述读书的直观感受,当然我也是一个前端小白,白的透明那种,但是我在读技术书籍感觉到“啃”的时候,我希望把我啃红宝书第四版的过程的想法,总结带给大家,以供后来者能够更快上手。


注: 本文由于作者水平原因,如有错误之处,恳请大家指正,另外随着学习的深入,体会的加深,我会不断回来更新,修改这类文章。


思维导图

1dae418daf7b468f9ced6373ea9aa214_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


简述

函数这一章其实在有一定的编程基础,比如学过一点c语言就很好读下去。整体还是易读板块。


10.11 函数表达式

ccd02a4f51144c31a1c2be50bcb2147c_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


  • 函数声明

提升

函数声明会在代码执行之前获得定义。及时函数定义在函数调用之后也不会报错。

原因

JavaScript 引擎会先读取函数声明,然后再执行代码。而函数表达式的函数定义不会提升。不可以在定义之前调用函数。


  • 匿名函数

别称

兰姆达函数

未用于赋值时

使用函数表达式其实就是创建一个匿名函数然后把这个函数赋值给一个变量。当这个函数没有赋值给一个变量时,函数的name属性是空字符串。


  • 提升小例子

①使用if else 判断是否该选择使用哪一个函数。

如果if else 里面是函数声明,那么由于不同的浏览器会可以导致错误。

如果if else 里面是函数表达式,那么可以根据if()里面的值正确的选择使用函数。

  • 在函数中返回另一个函数
  • 怎么样是一个函数表达式
    任何时候,只要函数被当作值来使用,它就是一个函数表达式。


10.12 递归

929b377ddd604980b4ee52fb034a576a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


  • 形式

递归函数通常的形式是一个函数通过名称调用自己

  • 改变函数名
    递归失败
    将函数名赋值给一个变量,使用这个变量递归,之前的函数名赋值为空值。使用之后的变量来进行递归,但是这样会导致无法成功递归。
    arguments.cellee
    arguments.callee 就是一个指向正在执行的函数的指针。如果将函数名赋值给其他变量,使用这个变量进行递归的时候,内部可以使用arguments.cellee。这样就可以保证递归的成功。


注意 在严格模式下运行的代码是不能访问 arguments.callee 的,因为访问会出错。
命名函数表达式
将函数使用括号包括起来然后赋值给一个函数。



目录
相关文章
|
5月前
|
人工智能 vr&ar
程序与技术分享:147.命题逻辑
程序与技术分享:147.命题逻辑
|
11月前
|
Python
1轻松学python第一节到第五节
1轻松学python第一节到第五节
46 0
|
存储 C语言
课外闲谈7.C语言期末考试必备知识点
在C语言中使用auto关键字声明一个变量为自动变量,如果没有被声明为其他类型的变量都是自动变量,即,省去类型说明符auto的都是自动变量。其他类型指的是变量的存储类型即:静态类型变量(static )、寄存器类型变量(register)和外部类型变量(extern)。
105 0
课外闲谈7.C语言期末考试必备知识点
|
前端开发 JavaScript C语言
带你读书之“红宝书”:第十章 函数①
带你读书之“红宝书”:第十章 函数①
101 0
带你读书之“红宝书”:第十章 函数①
|
前端开发 C语言
带你读书之“红宝书”:第十章 函数④
带你读书之“红宝书”:第十章 函数④
78 0
带你读书之“红宝书”:第十章 函数④
|
前端开发 C语言
带你读书之“红宝书”:第十章 函数⑨
带你读书之“红宝书”:第十章 函数⑨
95 0
带你读书之“红宝书”:第十章 函数⑨
|
JavaScript 前端开发 Python
带你读书之“红宝书”:第三章 语法基础(上)
带你读书之“红宝书”:第三章 语法基础(上)
75 0
带你读书之“红宝书”:第三章 语法基础(上)
|
前端开发 C语言
带你读书之“红宝书”:第十章 函数⑦
带你读书之“红宝书”:第十章 函数⑦
94 0
带你读书之“红宝书”:第十章 函数⑦
|
存储 JavaScript 前端开发
带你读书之“红宝书”:第十章 函数②
带你读书之“红宝书”:第十章 函数②
103 0
带你读书之“红宝书”:第十章 函数②
|
JavaScript 前端开发 C语言
带你读书之“红宝书”:第十章 函数③
带你读书之“红宝书”:第十章 函数③
104 0
带你读书之“红宝书”:第十章 函数③