单例模式:创建一个命名空间(模块名)接收返回的相关信息,实现把信息(方法…)暴露给别的模块使用
let module = (function(){
let name = '哈哈'
function query(){
console.log('这是一个方法')
}
funciton fn(){
console.log('fn')
}
window.query=query // 挂载在window对象上,给别的模块使用,但是挂载的比较多后也可能出现问题
// 优化后做法
return {
query:query
}
})() // 写在函数里为了避免变量污染
let module2 = (function(){
module1.query()
funciton fn(){
console.log('fn2')
}
})()