1.闭包
闭包是指有权访问另一个函数作用域中变量的函数。由于 javascript
的特性,外层的函数无法访问内部函数的变量;而内部函数可以访问外部函数的变量(即作用域链)
闭包的好处:
希望一个变量长期驻扎在内存之中
避免全局变量的污染
私有成员的存在
安全性提高
闭包的缺点:
可能导致内存占用过多,因为闭包携带了自身的函数的作用域
闭包只能取得外部包含函数中的最后一个值
为什么用闭包:
因为在闭包内部保持了对外部活动对象的访问,但外部的变量却无法直接访问内部,避免了全局变量的污染;
可以当做私有成员,弥补了因js语法带来的面向对象编程的不足
2.Json
(1)Json是一种轻量级的数据交换格式
(2)Json的语法表示三种类型值,简单值(字符串,数值,布尔值,null),数组,对象
(3)Json独立于语言和平台
Json克隆:
或