闭包封装方法

}

====================================

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html>

<head>
<title>css style</title>
<link rel="stylesheet" type="text/css" href="test.css">
</head>
<style type="text/css">
#a{width: 300px; height: 50px; background-color: red;}
</style>
<body>
<div id="a">

</div>
</body>
<script type="text/javascript">
//公共方法
var Util = (function() {
function fn1(a) {
return alert(a)
}
var prefix = 'ficiton_reader_';
var StorageGetter = function(key) {
return localStorage.getItem(prefix + key);
}
var StorageSetter = function(key, val) {
return localStorage.setItem(prefix + key, val);
}
return {
fn1: fn1,
StorageGetter:StorageGetter,
StorageSetter:StorageSetter
}
})();

//具体功能实现
function method_1()
{
//var a = 1;
var init = function(){
Util.fn1("hahaha")
}
var fn2 = function(){
alert("method里的方法")
}
return {
init:init,
fn2:fn2
}
}

main();
//入口文件
function main(){
Util.fn1("first")
var obj= new method_1();
obj.init()
obj.fn2()

EventHandler()
}

//处理页面DOM的方法 可以先将DOM存起来 不用每次都去取
function EventHandler(){
var dom = {
a:document.getElementById("a")
}
dom.a.onclick=function(){
alert(1)
}
}
</script>

</html>