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