例如一个文件同时调用了两个js文件, 每个js文件都做了封装使得内部变量外部无法访问,但是我就要访问###
文件yi 做到了 访问封装的文件er
!if(){
var person=window.preson
console.log(person)
}.call()
文件er !if(){ var person = window.person={ //局部变量 person 与 window.person 都存了 name:'jack' 的地址 name:'jack' } }.call()
闭包
!if(){
var newAge=window.jackGrowUp()
console.log(newAge)
}.call()
!if(){ var person = window.person={ //局部变量 person 与 window.person 都存了 name:'jack' 的地址 name:'jack', age:18 } window.jackGrowUp=function(){ person.age+=1 return person.age } }.call()
立即执行函数使得 person 无法被外部访问 闭包使得匿名函数可以操作 person window.frankGrowUp 保存了匿名函数的地址 任何地方都可以使用 window.frankGrowUp => 任何地方都可以使用 window.frankGrowUp 操作 person,但是不能直接访问 person ###