1.模块化编程,就是把每个功能模块的js,放在一个js文件中,然后一个个引用。每个模块无法进行影响
尽量不使用全局变量,用局部变量
在ES 5中 只有函数又局部变量
于是我们声明一个 function xxx,然后xxx.call()
但是xxx是全局变量(全局函数)
所有我们不能给函数名字 所以是function(){}.call()
但是这样写 Chrome会报错,语法错误
所以可以
!function(){}.call() ====>如果不在乎返回值的话,可以用这个方法
如果说 JS 文件 A和B需要进行一定的读取之类的 可以利用Window 因为Window是全局变量。
文件A.js
!function () {
var person = {
name="mika",
age=20
}
window.personGrowUp = function () {
person.age += 1
return person.age
}
//上面两个就叫闭包.闭包可以用来对数据隐藏细节
//可以控制访问。如果想要访问age,可以访问的到,但是如果想访问name,就访问不到
}
文件B.js
!function () {
var newAge = window.personGrowUp()
console.log(newAge)
}.call()
在文件A.js中
1.立即执行函数使得person 无法被外部访问
2.闭包使得匿名函数可以操作person
3.window.personGrowUp 保存了匿名函数的地址
4.任何地方都可以使用 window.personGrowUp
=>任何地方都可以使用window.personGrowUp 操作person,但是不能够直接访问person
网友评论