在 Javascript 中,函数是第一类对象。一等函数意味着当该语言中的函数被视为任何其他变量时。

例如,在这种语言中,一个函数可以作为参数传递给其他函数,可以由另一个函数返回,也可以作为一个值分配给变量。例如,在下面的示例中,分配给侦听器的处理函数

const handler = () => console.log('This is a click handler function');
document.addEventListener('click', handler);
复制代码

函数实际上是对象,每个函数都是Function类型的实例,而Function也有属性和方法,跟其他引用类型一样。因为函数是对象,所有函数名就是指向函数对象的指针,而且不一定与函数本身紧密绑定。

函数通常以函数声明的方式定义;定义函数的语法是函数表达式。注意这里的函数末尾是有分号的,与任何变量初始化语句一样。不推荐使用Function构造函数来定义函数,因为代码会被解释两次:

  1. 第一次是将它当作常规ECMAScript代码;

  2. 第二次是解释传给构造函数的字符串。

小结:

  1. 一个函数可以作为参数传递给其他函数;

  2. 一个函数可以由另一个函数返回;

  3. 一个函数可以作为一个值分配给变量。

未完结!更多内容尽情期待下一节~

【深入理解JS核心技术】欢迎各位观众老爷,求点赞,求关注,求转发~

低调务实优秀中国好青年 (简介) && 附加答案

中文 | English

一个 ☝️ 正经的前端学习 开源 仓库,启发来自  淘宝大佬  @冴羽 ,初心做一个真正能帮助到大家的仓库。一个人可以走的更快,但一群人才能走的更远。(非常口语化的,手写总结)

欢迎大家前来讨论,如果觉得对你的学习有一定的帮助,欢迎点个Star (此仓库每天都会准时更新)- vx联系: xiaoda0423

【深入理解JS核心技术】11. 什么是一级函数相关推荐

  1. 【深入理解JS核心技术】2. 什么是原型链?

    原型链是用于在现有对象的基础上构建新类型的对象.它类似于基于类的语言中的继承. 对象实例的原型可以通过 Obeject.getPrototypeOf(object) 或 proto 属性获得,而构造函 ...

  2. 【学习笔记】深入理解js原型和闭包(11)——执行上下文栈

    继续上文的内容. 执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境.当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境.处于活动状态的执行 ...

  3. 简单粗暴地理解js原型链–js面向对象编程

    简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...

  4. 彻底理解js中this

    相关博文:http://blog.csdn.net/libin_1/article/details/49996815 彻底理解js中this的指向,不必硬背. 首先必须要说的是,this的指向在函数定 ...

  5. 深入理解js的执行机制

    写在前面 javascript在浏览器中被浏览器的js引擎执行解释,从执行上下文的角度分析一下js的执行机制 执行上下文 执行上下文被定义成javascript引擎在处理理解js代码时,所创建的一个动 ...

  6. 深入理解Js中的this

    深入理解Js中的this JavaScript作用域为静态作用域static scope,但是在Js中的this却是一个例外,this的指向问题就类似于动态作用域,其并不关心函数和作用域是如何声明以及 ...

  7. 深入理解MySQL核心技术

    网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击"普通下载" ...

  8. 《Java工程师成神之路》深入理解Java核心技术(基础篇)

    学习目标: 深入理解Java核心技术(基础篇) 学习内容: 1.面向对象的五大基本原则 (1)单一职责原则:一个类应该有且只有一个去改变它的理由,这意味着一个类应该只有一项工作. (2)开放封闭原则: ...

  9. 【学习笔记】深入理解js原型和闭包(5)——instanceof

    又介绍一个老朋友--instanceof. 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/ ...

  10. 简单理解js闭包、类型引用....第一章

    js 闭包函数.类型引用.this指向.对象原型链...这些东西让我们对js又爱又恨!js虐我千百遍,我待js如初恋. 很多初学者一开始会觉得这些概念没什么用,导致对这些东西产生一种抵抗力.接下来我们 ...

最新文章

  1. Nature | 李海等揭示肠道菌群参与塑造B淋巴细胞抗原受体组库
  2. 各种排序算法的讲解与代码实现
  3. dwmac ethernet driver(stmmac)
  4. tab vue 竖排_vue 实现tab切换保持数据状态
  5. python爬取百度域名注册_python爬取百度域名_python爬取百度搜索結果url匯總
  6. 力软 Learun 是如何验证权限的
  7. TextWatcher接口
  8. 高中计算机技术教材,广西科学技术出版高中信息技术教材第一册《计算机硬件组成》...
  9. npm 安装yarn
  10. 穷查理宝典:查理·芒格智慧箴言录
  11. ubuntu-22.04.1磁盘分区和挂载
  12. 设计一图书信息管理系统,实现以下功能:系统以菜单方式工作,图书信息录入功能(图书信息用文件保存) ;
  13. uniapp接入支付宝登录及订阅消息教程
  14. 漫谈区块链“羊群效应”
  15. 怎么将WPS转换成WORD?看完你就学会了
  16. c语言函数rewind作用,c语言中的rewind()是什么意思
  17. latex 表格标题分行和居中
  18. 什么是高并发,高并发的解决方案
  19. ch340串口驱动_如何使用串口来给STM32下载程序
  20. android音量界面,android 音量调节以及媒体音量界面

热门文章

  1. CTF必备密码编码大全
  2. 如何批量保存html,如何批量保存网页信息
  3. MySQL2:代码小节和代码测试
  4. pde中微元分析法的主要思想_有限元法(FEM)
  5. bch纠错码 码长8_浅析BCH码的编码方法.docx
  6. 地震 matlab,MATLAB在地震信号处理中的应用实例.docx
  7. WF本质论 OpenSesame 芝麻开门代码
  8. LCD12864图形点阵液晶显示模块中文资料介绍
  9. module_init和module_exit的作用
  10. iOS 开发技巧(一)