当前位置:编程学习 > JS >>

js封装和作用域


在编写web软件时,遇到一些可以共用js的情况,于是就想着如何封装js代码。

   基本需求很简单,其实就是根据不同的情况封装js代码。基本的代码如下


[html] <html xmlns="http://www.w3.org/1999/xhtml"> 
<head><title>   
</title> 
<script src="jquery-1.4.4.min.js" type="text/javascript"></script>  
<script type="text/javascript">     
      var text="test";   
      var   t=new functionTest(text);    
       function functionTest(text) 
       { 
             var alertText=text    
             $("#btnSave").click(function (e) {              
                alertTestInnert();           
             });                      
          this.AlertTest= function () 
           {             
              alert(alertText); 
           }     
            function alertTestInnert() 
           { 
              alert(alertText); 
           }     
       }  
      function alertTestOuter() 
      { 
              alert(text); 
      } 
 
    </script> 
<body> 
 <input type="button" id="btnSave" class="button" value="保存"  /> 
 <input type="button" id="btnCancel" class="button" value="取消" onclick="javascript:t.AlertTest;" /> 
</body> 
</html> 

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title> 
</title>
<script src="jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript">   
      var text="test"; 
   var   t=new functionTest(text); 
    function functionTest(text)
    {
          var alertText=text  
             $("#btnSave").click(function (e) {     
       alertTestInnert();   
    });            
          this.AlertTest= function ()
     {     
        alert(alertText);
     } 
      function alertTestInnert()
     {
        alert(alertText);
     } 
    }
      function alertTestOuter()
   {
        alert(text);
   }

    </script>
<body>
 <input type="button" id="btnSave" class="button" value="保存"  />
 <input type="button" id="btnCancel" class="button" value="取消" onclick="javascript:t.AlertTest;" />
</body>
</html>
再点击保存,取消时需要一定的操作,第一次的代码如上:

点击保存,根本没反应,很奇怪,这种最常用的jquery绑定事件竟然不起作用了。后来一比较才知道,其实自己忘了,绑定应该在$(document).ready(function () {})中进行;

js修改如下:


[javascript] var text="test";     
  $(document).ready(function () { 
     var   t=new functionTest(text);     
});      
   function functionTest(text) 
   { 
         var alertText=text    
            $("#btnSave").click(function (e) {               
            alertTestInnert();           
         });                      
         this.AlertTest= function () 
       {             
          alert(alertText); 
       }     
        function alertTestInnert() 
       { 
          alert(alertText); 
       }     
   }  
     function alertTestOuter() 
  { 
          alert(text); 
  } 

 var text="test"; 
   $(document).ready(function () {
      var   t=new functionTest(text); 
 });   
    function functionTest(text)
    {
          var alertText=text  
             $("#btnSave").click(function (e) {     
       alertTestInnert();   
    });       &n

补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,