【深入理解JS核心技术】11. 什么是一级函数
在 Javascript 中,函数是第一类对象。一等函数意味着当该语言中的函数被视为任何其他变量时。
例如,在这种语言中,一个函数可以作为参数传递给其他函数,可以由另一个函数返回,也可以作为一个值分配给变量。例如,在下面的示例中,分配给侦听器的处理函数
const handler = () => console.log('This is a click handler function');
document.addEventListener('click', handler);
复制代码
函数实际上是对象,每个函数都是Function类型的实例,而Function也有属性和方法,跟其他引用类型一样。因为函数是对象,所有函数名就是指向函数对象的指针,而且不一定与函数本身紧密绑定。
函数通常以函数声明的方式定义;定义函数的语法是函数表达式。注意这里的函数末尾是有分号的,与任何变量初始化语句一样。不推荐使用Function构造函数来定义函数,因为代码会被解释两次:
第一次是将它当作常规ECMAScript代码;
第二次是解释传给构造函数的字符串。
小结:
一个函数可以作为参数传递给其他函数;
一个函数可以由另一个函数返回;
一个函数可以作为一个值分配给变量。
未完结!更多内容尽情期待下一节~
【深入理解JS核心技术】欢迎各位观众老爷,求点赞,求关注,求转发~
低调务实优秀中国好青年 (简介) && 附加答案
中文 | English
一个 ☝️ 正经的前端学习 开源 仓库,启发来自 淘宝大佬 @冴羽 ,初心做一个真正能帮助到大家的仓库。一个人可以走的更快,但一群人才能走的更远。(非常口语化的,手写总结)
欢迎大家前来讨论,如果觉得对你的学习有一定的帮助,欢迎点个Star (此仓库每天都会准时更新)- vx联系: xiaoda0423
【深入理解JS核心技术】11. 什么是一级函数相关推荐
- 【深入理解JS核心技术】2. 什么是原型链?
原型链是用于在现有对象的基础上构建新类型的对象.它类似于基于类的语言中的继承. 对象实例的原型可以通过 Obeject.getPrototypeOf(object) 或 proto 属性获得,而构造函 ...
- 【学习笔记】深入理解js原型和闭包(11)——执行上下文栈
继续上文的内容. 执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境.当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境.处于活动状态的执行 ...
- 简单粗暴地理解js原型链–js面向对象编程
简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...
- 彻底理解js中this
相关博文:http://blog.csdn.net/libin_1/article/details/49996815 彻底理解js中this的指向,不必硬背. 首先必须要说的是,this的指向在函数定 ...
- 深入理解js的执行机制
写在前面 javascript在浏览器中被浏览器的js引擎执行解释,从执行上下文的角度分析一下js的执行机制 执行上下文 执行上下文被定义成javascript引擎在处理理解js代码时,所创建的一个动 ...
- 深入理解Js中的this
深入理解Js中的this JavaScript作用域为静态作用域static scope,但是在Js中的this却是一个例外,this的指向问题就类似于动态作用域,其并不关心函数和作用域是如何声明以及 ...
- 深入理解MySQL核心技术
网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击"普通下载" ...
- 《Java工程师成神之路》深入理解Java核心技术(基础篇)
学习目标: 深入理解Java核心技术(基础篇) 学习内容: 1.面向对象的五大基本原则 (1)单一职责原则:一个类应该有且只有一个去改变它的理由,这意味着一个类应该只有一项工作. (2)开放封闭原则: ...
- 【学习笔记】深入理解js原型和闭包(5)——instanceof
又介绍一个老朋友--instanceof. 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/ ...
- 简单理解js闭包、类型引用....第一章
js 闭包函数.类型引用.this指向.对象原型链...这些东西让我们对js又爱又恨!js虐我千百遍,我待js如初恋. 很多初学者一开始会觉得这些概念没什么用,导致对这些东西产生一种抵抗力.接下来我们 ...
最新文章
- React模式:集中式PropTypes
- CVPR2020 | 反传统的无监督人脸旋转方案:旋转-渲染
- 全局的过滤器, 进行时间的格式化——所谓的全局过滤器,就是所有的VM实例都共享的 || 如何自定义一个私有的过滤器(局部)
- 数组的一些与遍历相关的方法总结
- [root@dg1 ~]# su - grid ---切换到grid用户
- linux的系统监视器图片_Linux中一个高效的资源监控器Bpytop
- fir.im分发平台 二维码合并
- RS232引脚定义及串口通信中与USB等转接
- Food Webs - 网络中度及集聚系数实现
- html 图层嵌套特点,ps图层有哪几种类型?
- 多系统导航电文下载与分析
- 国外大牛推荐:计算机专业人士必读好书(30本经典)
- jzy3D从入门到弃坑_2使用jzy3D0.9画2D散点图
- Ajax的简单使用与JSON数据格式
- Skipping MapperFactoryBean with name ‘xxx‘ and ‘xxx‘. Bean already defined with the same name’警告
- memsql 基本完全免费了
- 人脸识别门禁为何倍受青睐?
- ajax-jq-php(mysql)四级省市级联
- princeton 本科cos318操作系统教程-1引言
- PCA分析及CNS级别作图
热门文章
- 高分GF与环境HJ系列国产卫星遥感影像数据图像免费批量下载方法
- AutoCad窗口错误调整
- Fama-French五因子模型实用攻略
- eclipse:STS下载使用(STS(Spring Tool Suite)其实是个被包装过的eclipse)
- linux虚拟键盘onboard设置,求助,安装屏幕虚拟键盘onboard出错。
- C源程序完整编译过程
- bpsk在瑞利信道matlab,请教BPSK在瑞利信道下的误码率仿真
- 商业计划书范文3000_大学生商业计划书范文
- java面试宝典app_Java面试宝典
- 项目1-员工(绩效)信息管理系统