微信扫一扫打赏支持

范仁义js课程---58、闭包应用-自定义模块

范仁义js课程---58、闭包应用-自定义模块

一、总结

一句话总结:

用js闭包可以很方便的创建自定义模块,这样变量和方法不会污染全局作用域

 

 

二、闭包应用-自定义模块

博客对应课程的视频位置:58、闭包应用-自定义模块
https://www.fanrenyi.com/video/19/159

 

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>闭包应用-自定义模块</title>
 6     <script src="myModule1.js"></script>
 7     <script src="myModule2.js"></script>
 8 </head>
 9 <body>
10 <!--
11 
12 -->
13 <script>
14     var myModule1=fn1();
15     console.log(myModule1.a());
16     console.log(myModule1.b());
17     // myModule1.a();
18     // myModule1.b();
19 
20     console.log(myModule2.a());
21     console.log(myModule2.b());
22     // myModule2.a();
23     // myModule2.b();
24 
25 </script>
26 </body>
27 </html>

 

myModule1.js

 1 function fn1() {
 2     var m='我的模块1';
 3     function a() {
 4         return m+':a函数';
 5     }
 6     function b() {
 7         return m+':b函数';
 8     }
 9     return {
10       a:a,
11       b:b
12     };
13 }

 

 

myModule2.js

 1 // (function () {
 2 //     var m='我的模块2';
 3 //     function a() {
 4 //         return m+':a函数';
 5 //     }
 6 //     function b() {
 7 //         return m+':b函数';
 8 //     }
 9 //     window.myModule2={
10 //         a:a,
11 //         b:b
12 //     };
13 // })();
14 
15 (function (w) {
16     var m='我的模块2';
17     function a() {
18         return m+':a函数';
19     }
20     function b() {
21         return m+':b函数';
22     }
23     w.myModule2={
24         a:a,
25         b:b
26     };
27 })(window);

 

 

 

 

 

 
posted @ 2020-03-09 18:04  范仁义  阅读(145)  评论(0编辑  收藏  举报