分享

js

 ThinkTank_引擎 2015-12-14

什么是js库?


 


    我们知道一些js库,如JQurey,我们在使用JQuery时js文件中我们首先会引用一个默认的js库,jquery.js文件,这个文件就是构建的js库,我们通过使用这个库,调用库中的函数,用更少的代码实现复杂的界面显示。


 


编写自己的js库,需要注意的问题:  


    建立js库时注意的两个问题,使自己的库构建的更加优雅合理:


        1 不要版本检测。


        不依赖于浏览器的样式,和浏览器的版本,而是依赖于脚本语言js的强大。


        2 使用命名空间。


        所说的命名空间不是真正的命名空间,只是能在脚本内营造的一个属于自己的小空间的技巧而已。


           命名空间的唯一性:


               方法的名字相同,默认使用最后一个方法。


               一般命名为IC (ItCast)


           命名空间不共享:


               库中的任何函数只在库中使用,保证自己使用$()函数,使用js小技巧。


                                 (function(){


                                          //运行的代码。


 


                                 })();  //后面的括号表示运行,定以函数后运行。前面的括号表示分隔符,定义函数。


编写自己的js库。


             模板:


            


  1.             <span style="font-size: 18px;">(function(){  
  2.                   
  3.                   
  4.                   
  5.                 //自己的命名空间,外部无法访问。  
  6.                 //定义了自己的函数$()  
  7.                 Function $()  
  8.                 {  
  9.                     //代码。  
  10.                     //测试是否成功。  
  11.                     Alert("你好!");  
  12.                 }  
  13.                   
  14.                 //构造自己的命名空间。  
  15.                 Window['myNameSpace']={}  
  16.                 //将自己的命名空间注册到window,并且注册自己的$函数。  
  17.                 Window['myNameSpace']['$']=$;  
  18.                   
  19.                   
  20.                   
  21.             })();  
  22. </span>  




在html中进行测试:


               


  1. <span style="font-size: 18px;"><html>  
  2. <head>  
  3.     <title>js库测试</title>  
  4.     <script type="text/javascript" src="myNameSpace.js"</javascript>  
  5. </head>  
  6. /*调用自己建立的 $()方法。window可以省略*/  
  7. <body onload="window.myNameSpace.$();">  
  8. </body>  
  9. </html>  
  10. pan>  



 


完善自己的js库。


            构建自己的$方法,作用是根据id来找出对象的值,构建方法,对需要根据模板把方法注册到window。


     js代码为:


    


  1. (function()  
  2.           {  
  3.         //向window注册命名空间IC。      
  4.         window['IC']={}  
  5.           
  6.         function $()  
  7.         {  
  8.                 //定义元素数组,数组对象。  
  9.                 var elements=new Array();  
  10.                 //对数组进行循环验证。arguments是js的一个内部对象返回,返回function传递的参数对象,数组形式。  
  11.                 for(var i=0;i<arguments.length;i++)  
  12.                 {  
  13.                     //定义element对象,把参数数组读出来。  
  14.                     var element=arguments[i];  
  15.                     //判断数组中的原元素是否是字符串类型。  
  16.                     if(typeof element=='string')  
  17.                     {  
  18.                         element=document.getElementById(element);  
  19.                     }  
  20.                     //判断当前的参数知否只有一个,我们就直接返回这个参数。  
  21.                     if(arguments.length==1)  
  22.                     {  
  23.                         return element;  
  24.                     }  
  25.                     //如果多个参数的话。我们放入数组elements中。  
  26.                     elements.push(element);  
  27.                 }  
  28.                     //把所有的全取出来并返回。  
  29.                     return elements;  
  30.             }  
  31.                
  32.               
  33.           
  34.           
  35.         //向windows上注册命名空间IC,并向命名空间中注册$方法。  
  36.         window['IC']['$']=$;  
  37.           
  38.                         
  39. })();  

html代码:


   


  1. <html xmlns="http://www./1999/xhtml">  
  2. <head>  
  3. <meta http-equiv="Content-Type"  content="text/html; charset=gb2312" />  
  4.   
  5. <title>无标题文档</title>  
  6.  <script type="text/javascript" src="create_jsKU.js" ></script>  
  7.  <script type="text/javascript">  
  8.     function  testClick()  
  9.     {  
  10.         var testInput=IC.$("testId","testId2");  
  11.         for(var i=0;i<testInput.length;i++)  
  12.         {  
  13.             alert(testInput[i].value);  
  14.         }  
  15.           
  16.     }  
  17.  </script>  
  18. </head>  
  19.   
  20. <body >  
  21. <input type="text" value="test" id="testId" />  
  22. <input type="text" value="test2" id="testId2" />  
  23. <input type="button" value="clickme" onclick="testClick()"/>  
  24. </body>  
  25. </html>  





            构建自己的js库,提高我们的效率。


  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多