js 练习

 Map 用法:

  

//            var obj={};
//            obj.name="zhangsan";
//            obj.age=24;
//            obj.say=function () {alert("hello world!"); }
//            
////             alert(obj.name);
////             alert(obj.age);
////             obj.say();
////            for(var a in obj)
////            {
////                alert(obj[a]);
////                
////            }
//
//         obj.p
//         alert(obj.hasOwnProperty('name'));

             function Map()
             {
                  var obj={};
                  this.put=function(Key,value)  // 加入绑定数组到对象
                   {
                       obj[Key]=value;
                       
                   }
                 this.size=function ()   // 查看数量
                 {    var count =1;
                     for(var att in obj){  count++ ;}
                     return count;
                 }
             this.get=function(key)   // 获取
              {
                  if(obj[key] || obj[key]===0 || obj[key]===false){return obj[key]; }
                  else {return null ;}
                  
              }
              
              this.remove=function(key)  //删除
              {
                  if(obj[key] || obj[key]===0 || obj[key]===false){ delete obj[key]; }
              }
              
              this.eachMap=function (fn)  //遍历所有值
              {
                  for(var att in obj)
                   {
                       fn(att,obj[att]);
                   }
              }
                 
             }
               
               var m=new Map();
               m.put('01','a');
               m.put('02',0);
               m.put('03',false);
               m.put('04',new Date());
               
              // alert(m.size());
            //  alert(m.get('03'));
    //          m.remove('03')
   //          alert(m.get('03'));
         
         m.eachMap(function(key,value){
             alert(key+":"+value)
             
         }); //遍历m中所以值
js

 数组去重

     var arr=[1,3,5,7,9,2,4,6,8,1,3,2,3,6,1,8];
             function toObjiect(arr)  //把数组转成js对象
             {
               var obj={};
               var j;
               for(var i=0 ,j=arr.length;i<j;i++)
               {
                   obj[arr[i]]=true;
                }
               return obj;
             }
             
             function keys(obj)  //把数组中的值转成js对象的值
             {
              var arr=[];
              for(var attr in obj)
              {
                   if(obj.hasOwnProperty(attr))
                   {
                       arr.push(attr);
                   }
                  
              }
             return arr;
             }
            
            function uniq (newarr) //综合的方法去重
            {
              return keys(toObjiect(newarr));    
            }
            
            alert(uniq(arr));
数组去重

 URL 

var url='http://www.rfvip.cn';
            alert(encodeURI(url));
            alert(encodeURIComponent(url));
            alert(decodeURIComponent(url));
View Code

 eval  无形的js 解析器

var str1=" var a=10; var b=19;"
    eval(str1);
    alert(a+b);
View Code
var strobj = "{name:'z3' , age:20,}";
        
          var obj = eval('('+strobj+')');
            alert(obj.name);

//解析数组
var arr=[1,4,5,7,1,6,4,8,6,9];
        var arrnew=eval(arr);
         alert(arrnew);
View Code

 时间

var  date=new Date();
        var year= date.getFullYear();
        var month=date.getMonth()+1;
        var day=date.getDate();
        var hour=date.getHours();
        var min=date.getMinutes();
        var sec=date.getSeconds();
        var da=year+'-'+month+'-'+day+'-'+hour+':'+min+':'+sec;
       // alert(da);
        
        document.write(da);
View Code

函数

 function test1(aa)   //函数
     {
         aa();
     }
      function  test2() 
      {
        alert('zddd')
      } 
     test1(test2);  //注意这里不是  test1(test2());
       
        test1(function ()  //另一种写法
        {
            alert('我也执行了!')
        });
View Code

 函数写法

//函数的写法
   function test1 ()  //函数的写法一
   {
    alert('haha1');    
   }
   
   var test2=function ()   //函数的写法二
   {
        alert('haha2');
   }
   var test3=new Function('a','b',"return a+b"); // //函数的写法三
   
    test1();
    test2();
    var test3= test3(10,30);
   alert(test3);
View Code

 

posted @ 2015-12-13 15:53  每天进步一点点!  阅读(323)  评论(0编辑  收藏  举报