zoukankan      html  css  js  c++  java
  • js总结 (4)JavaScript高级程序设计

    JavaScript高级程序设计

    1.闭包解决方法  》立即执行函数

      

    var btn=document.getElementsByTagName('button');
        var con=document.getElementsByTagName('div');
        for (var i = 0; i <btn.length; i++) {
    
            (function (i) {                    
                btn[i].onclick=function () {
                    for (var j = 0; j<btn.length ; j++) {
                    con[j].style.display="none";
                    } 
                  con[i].style.display="block"; 
                } 
             }(i))
        } 

     2.间隔执行和定时执行函数

             
        // setTimeout(function () {     这是等待1000ms再执行    清除 clearTimeout( meter1 )
            // alert("a");
        // }, 1000);
        //  var a=1;var speed=2;
    
        // setInterval(function () {                  每隔多少毫秒执行     清除 clearInterval( meter1 ) 
    // document.write(parseInt(a+=speed)+"<br>"); 
    // speed=a/2; // }, 100); 

     3.置顶

    document.documentElement.scrollTop=0;

     4.删除数组某一项
      

    if (val.length >= 2) {
    val.splice(0, 1)  删除从下表0开始,长度为1
    }
    arr = ['a','b','c','d']
    删除 ----  item不设置
    
    arr.splice(1,1)   //['a','c','d']         删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变
    
    arr.splice(1,2)  //['a','d']          删除起始下标为1,长度为2的一个值,len设置的2
    
    替换 ---- item为替换的值
    
    arr.splice(1,1,'ttt')        //['a','ttt','c','d']         替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1
    
    arr.splice(1,2,'ttt')        //['a','ttt','d']         替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1
    
     
    
    添加 ----  len设置为0,item为添加的值
    
    arr.splice(1,0,'ttt')        //['a','ttt','b','c','d']         表示在下标为1处添加一项‘ttt’
    
    看来还是splice最方便啦
    
    2:delete       delete删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变
    
    如:delete arr[1]  //['a', ,'c','d']     中间出现两个逗号,数组长度不变,有一项为undefined
    

     5. 一个数组根据另一个数组大小排序

     数组大小排序

       var  arr2=['zs',5,'lis',3,8,]
            var  arr1=[9,13,10,11,16]
            var temp = 0;
            var temp2="";
            for (var i = 0; i < arrb.length; i++) {
                for (var j = 0; j < arrb.length - i; j++) {
                    if (arrb[j] > arrb[j + 1]) {
                        temp = arrb[j + 1];
                        arrb[j + 1] = arrb[j];
                        arrb[j] = temp;
                        temp2=an[j+1];
                        an[j+1]=an[j];
                        an[j]=temp2;
                    }
                }}
    

     两个数组按照一个数组排序
     

    function zhuanhuans(an,arrb) {
    	var temp = 0;
    	var temp2="";
    	for (var i = 0; i < arrb.length; i++) {
    		for (var j = 0; j < arrb.length - i; j++) {
    			if (arrb[j] > arrb[j + 1]) {
    				temp = arrb[j + 1];
    				arrb[j + 1] = arrb[j];
    				arrb[j] = temp;
    				temp2=an[j+1];
    				an[j+1]=an[j];
    				an[j]=temp2;
    			}
    		}}
    		return an;
    		return arrb;
    	}
    

      

      

  • 相关阅读:
    POJ 1703 Find them, Catch them
    POJ 2236 Wireless Network
    POJ 2010 Moo University
    POJ 2184 Cow Exhibition
    POJ 3280 Cheapest Palindrome
    POJ 3009 Curling 2.0
    POJ 3669 Meteor Shower
    POJ 2718 Smallest Difference
    POJ 3187 Backward Digit Sums
    POJ 3050 Hopscotch
  • 原文地址:https://www.cnblogs.com/nice2018/p/9811573.html
Copyright © 2011-2022 走看看