• 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;
    	}
    

      

      

  • 相关阅读:
    Unity 状态机切换
    Unity3d 血条脚本
    最简单的Python群聊
    EFCore 多字段排序分页法
    搭建react+redux+vscode+typescript开发环境
    C# 4格A*自动寻径
    Sql删除表中多余的重复记录
    ABP弹出提醒用户的错误信息
    百度地图 驾车路线编辑粗浅实例
    .NetCore3.1 WebApi中Swagger配置
  • 原文地址:https://www.cnblogs.com/nice2018/p/9811573.html
Copyright © 2020-2023  润新知