JavaScript的函数地位高, 功能强大, 是一等公民. 可以像其他变量一样传来传去, 还可以调用. 我们已经知道函数可以访问外部数据, 那么函数和外部数据如何交流, 有什么限制呢?
这部分内容在作用域一章中已经所有涉及, 但是没有深入, 这里来从头到尾捋一遍.
先把作用域用过的例子抄过来:
其他语言叫字典, JavaScript叫Map, 我们看看它主要有什么方法:
new Map()
– 新建一个mapmap.set(key, value)
– 根据key设置值map.get(key)
– 根据key返回值map.has(key)
– 判断是否有keymap.delete(key)
– 删除keymap.clear()
– 清空本mapmap.size
– 本map大小大多数语言的变量都有作用域这个概念,Javascript也不例外,关于作用域的介绍,在奇怪的JS中有部分介绍。
与大多数语言不同,Javascript没有public
, private
等关键字。那么,如何在Javascript中实现其他语言中的数据封装呢?
前面基础部分已经介绍过了数组, 这里再介绍一些高级的内容.
前面介绍过indexOf/lastIndexOf
和includes
数组的find()
方法返回满足符合检验函数的第一个元素, 否则返回undefined
:
我们使用变量和简单的对象封装了数据, 对于操作这些数据的方法, 我们可以使用函数来封装
这种方法上来就跟人说, 我是函数: