一种数据类型

参数、返回值
函数太灵活了, 无所不能
一般情况下 把函数作为参数 目的就是为了获取函数内部的异步操作结果
JavaScript 单线程、事件循环

最基础的使用

function add1 (x, y) {return x + y
}console.log(add1(1, 3));setInterval(function () {console.log('hello')
}, 1000)

注意: 凡是需要得到一个函数异步操作的结果 setTimeout redFile ajax 这种情况必须通过:回调函数

// 不成立
let add = (x, y) => {setTimeout(() => {console.log(2)let ret = x + yreturn ret}, 1000)
}
console.log(add(10, 30))// 成立
let add = (x, y, callback) => {console.log(1)setTimeout(() => {// callback 就是回调函数// let x=1// let y = 30// let callback=ret=>{console.log(ret)}let ret = x + ycallback(ret)})
}
add(1, 30, ret => {console.log(ret);
})

js中的函数一等公民相关推荐

  1. JS基础学习(五):多重循环、调试、函数一等公民、break、continue

    1.函数一等公民 函数是一等公民的意思是当var 一个变量是,这个变量名和function的functionName名相同时,将会覆盖var的值使用函数function内的执行语句. 实例: < ...

  2. JS OOP -02 深入认识JS中的函数

    深入认识JS中的函数: 1.概述,认识函数对象 2.函数对象和其他内部对象的关系 3.将函数作为参数传递 4.传递给函数的隐含参数:arguments 5.函数的apply,call方法和length ...

  3. java js中 function函数报错_浅析JS中对函数function的理解(基础篇)

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  4. JS中Promise函数then的奥秘探究

    JS中Promise函数then的奥秘探究 Promise概述 Promise对象是CommonJS工作组提出的一种规范,目的是为异步操作提供统一接口. 那么,什么是Promises? 首先,它是一个 ...

  5. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

    一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...

  6. JS中的函数声明和函数表达式

    JS中的函数声明和函数表达式 1. 函数声明定义一个具有指定参数的函数 函数声明提升, 函数声明在JS解析时进行函数提升,因此在同一个作用域内,不管函数声明在哪里定义,该函数都可以进行调用 hoist ...

  7. js中trim函数_30天中的30个Excel函数:03 – TRIM

    js中trim函数 Yesterday, in the 30XL30D challenge, we took a poke at the lazy brother-in-law function -- ...

  8. 谈谈JS中的函数劫持

    说到劫持,第一反应可能是什么不好的东西.函数劫持并不邪恶,关键是看使用的人.虽然这个概念在前端领域使用较少,但是在安全领域.自定义业务等场景下还是有一定的使用价值的.所以,这一篇文章将会和大家一起去了 ...

  9. Js中匿名函数的理解

    目录 1.js中匿名函数的N种写法 最常见的用法: 2.JavaScript 匿名函数及闭包 2.1 匿名函数 2.1.1 函数的定义 2.1.2 匿名函数的创建 2.2 闭包 2.3 举例 2.4 ...

最新文章

  1. IOSUIcontrol事件
  2. array用法 numpy_关于Numpy Array的使用技巧整理
  3. 【错误记录】Google Play 上架报错 ( 此版本不符合 Google Play 关于提供 64 位版本应用的要求 )
  4. Asp.net Web.Config - 配置元素 httpCookies
  5. informix linux安装步骤
  6. 8.最大公约数和最小公倍数问题
  7. 如何改变tabcontrol控件背景色和标签字体和颜色_如何利用标签打印软件将网址信息转成带logo的二维码...
  8. 什么是程序中的数字指纹
  9. android是j2me的一个实现吗,J2me和安卓有什么区别
  10. ora 01033 oracle initialization,ora-01033:oracle initialization or shutdown in progress 解决方法
  11. docker命令push,pull等设置代理
  12. python导入文件
  13. 10号前发工资和15号后发工资有啥区别
  14. 对旅游行业APP前五名(个人观点)优缺点的简析
  15. linux 测速命令 speed-test 以及 iperf3
  16. php++内购续期订阅,iOS内购:自动续期订阅总结
  17. 论文阅读(5)栉水母利用涡流反弹动力学,胜过其他凝胶状的游泳者(2019)
  18. JMeter BeanShell 应用
  19. 干货 | 这样做轻松复现顶会论文
  20. 好用的网页扒图插件-ImageAssistant

热门文章

  1. C#使用BarTender打印条码
  2. codeforces D.The Bakery
  3. 新的Android恶意软件!可窃取银行密码,看看怎么防御?
  4. 全网最强滑模控制(SMC)matlab s-function函数实现(1),滑模控制几种趋近律总结(文末附实例下载)
  5. p6spy no suitable driver
  6. 一款 Linux 邮件客户端—Nylas Mail
  7. mysql多表查询连接的种类_MySQL中基本的多表连接查询教程
  8. AI智能电销机器人源码
  9. 第八集 动词的不定式
  10. 日语python_自学Python,英语,日语系列