役割ドメイン、匿名関数、閉パッケージ

1647 ワード

1、//役割ドメインの概念
//   :       ,                ,         
   ;                  ,           。

//     ,  var          ,    ,      。   var     ,        


            

    
//      var a = 12;
//      function useA () {
//                         ,             
       ,(1):       ,             ,(2):     ,               

//          alert(a); // undefine
//          var a = 24;
//          
//          return a;
//      }
//      
//      alert(a); // 12
//      alert( useA() );  // 24
//      
//      alert(a);  // 12



function demoFun () {
alert(e);
}




demoFun();

  var e = 23;


function demoFun1 () {
alert(e);
}

demoFun1();

2、//匿名関数
//    :    ,          
//    :     ,         ,    ,   ;
var a = function(){
alert("hello world")
};

(function (a){alert("goodbye world"+a)})("sdfds");

//         
//            
setInterval(function(){
alert("fdsds")
},1000)

//           

3、//クローズ
//               
//                     ,         
function f1(){
var n = 999;
nAdd = function(){n+=1};
function f2(){
    alert(n)
}
return f2;
}

var result = f1();
nAdd();
result();




//                Bug
//             i  
/*for(var i=1;i<4;i++){
var btn = document.getElementById("button"+i)
btn.tempNumber = i
btn.onclick=function(){
    alert("button"+this.tempNumber)
}
}*/

4、//クローズで解決
for(var i=1;i<4;i++){
var btn = document.getElementById("button"+i);
//alert(btn)
(function(num){
    btn.onclick=function(){
        alert("button"+num)
    }
})(i)
}