javascript - 闭包以及函数

 1 /**
 2  * 匿名函数
 3  */
 4 (function () {
 5     /**
 6      * 是否启用跟踪用户隐私
 7      * 
 8      * 启用:isPrivacys(true)
 9      * 不启用:isPrivacys(false)
10      * 
11      */
12     function isPrivacys(isPrivacy) {
13         isPrivacy ? (navigator.msDoNotTrack == "0" || window.doNotTrack == null || navigator.doNotTrack == "unspecified" || navigator.doNotTrack == null) : (navigator.msDoNotTrack || window.doNotTrack || navigator.doNotTrack == '1');
14     }
15 
16     // 以释放对象或函数以及变量来提供给其它使用
17     window.isPrivacys = isPrivacys;
18 })();
19 
20 
21 // 使用它
22 isPrivacys(true);
23 
24 
25 
26 /**
27  * 自执行函数(其实只要裸着就是自执行函数)
28  */
29 !function () {
30     // code....
31     console.log('一开始,我自己执行了!!!');
32 }();
33 
34 
35 
36 /**
37  * 声明式函数 - 运行期上文无法获取
38  * @param {number} a 
39  * @param {number} b 
40  */
41 var count = function (a, b) {
42     return a + b;
43 }
44 console.log(count(1, 2));
45 count(1, 2);
46 
47 
48 
49 
50 
51 /**
52  * 函数 - 运行期上下文皆可获取(global)
53  * @param {number} a 
54  * @param {number} b 
55  */
56 function countAdd(a, b) {
57     return a, b;
58 }

 

posted @ 2018-09-03 10:31  Sunsin  阅读(135)  评论(0编辑  收藏  举报