zoukankan      html  css  js  c++  java
  • js-封装几个常用函数

    //	编写一个函数,功能判断任意一个数是否是素数,如果是素数返回true  否则返回false
    function isPrimerNumber( m ){
    	//判断m是否是素数  
    	//如果是素数 在2--(m-1)区间内 没有能够被m整除的数
    	for( var i = 2 ; i < m ; i++ ){
    		if( !(m%i) ){ //不是素数  能够被整除
    			return false;//不是素数
    		}
    	}
    	//循环结束后 上面没有满足条件的i 说明m是素数
    	return true;
    }
    /*
         随机数
         参数:
         n:起始数字
         m:范围
     
    */
    function numRandom(n,m){
    	if( n>m ){
    		return parseInt(m+Math.random()*(n-m+1));
    		//return Math.round( Math.random()*(n-m)+m )
    	}else{
    		return parseInt(n+Math.random()*(m-n+1));
    		//return Math.round( Math.random()*(m-n)+n )
    		
    	}
    }
    /*
         判断一个字符串的内容是不是纯数字
     
    */
    function fn(str){
    	if(str %1 == 0){
    		console.log("纯数字");
    	}else{
    		console.log("不是纯数字");
    	}
    }
    
    function typeNum(n){
    	
    	if(typeof Number(n) == "number" && !Number.isNaN(n)){
    		alert("纯数字")
    	}else{
    		alert("非纯数字")
    	}
    }
    
    
    	/*
    	  
    	  根据id获取元素
    	  
         */
    function $id(id){
    	return document.getElementById(id);
    }
    
    	/*
    	  
    	  创建一个元素
    	  
    	 */
    function createEle(ele){
    	return document.createElement(ele);
    }
    		
    /*
    	  
    	  获取六位十六进制随机颜色值
    	 
    */
    		
    function getColor(){
    	var str = "0123456789abcdef";
    	var color = "#";//存储颜色值
    	for( var i = 1 ; i <= 6 ; i++ ){
    		color += str.charAt( numRandom(0,15) );
    	}
    	return color;
    }
    	
    	//方法二
    	
    function getColor2(){
    	return "rgb("+numRandom(0,255)+","+numRandom(0,255)+","+numRandom(0,255)+")";
    }
    //document.body.style.backgroundColor = getColor();
    /*
    	 
    	 封装一个函数 功能是 将日期转成字符串 显示自定义的时间格式
    	  
    */
    function dateToString(d){
    	var y = d.getFullYear();
    	var m =toTwo(  d.getMonth() + 1 );
    	var d1 =toTwo( d.getDate() );
    	
    	var h = toTwo( d.getHours() );
    	var mi =toTwo(  d.getMinutes() );
    	var s = toTwo( d.getSeconds() );
    	
    	return y+"-"+m+"-"+d1+" "+h+":"+mi+":"+s;
    }
    
    
    //如果str小于10  前面拼接一个0
    function toTwo(str){
    	return str < 10 ? "0" + str : str;
    }
    
    /*
     
         2、随机获取六位验证码     验证码由大写字母 或小写字母 或  数字组成
    
    */
     function yanNum(){
     	str = [];
     	for( var i = 1;i <= 4; i++ ){
     		var ma =  numRandom(122,48);
         	if( ma >= 48 && ma <= 57 || ma >= 65 && ma <= 90 || ma >= 97 && ma <= 122 ){
         		var st = String.fromCharCode(ma);
    	        str.push(st);
         	}else{
         		i--;
         	}
     	}
         return str 	
     }
       
       // [23,1,45,6,7,89,90] 
    	//冒泡排序:相邻的两个数进行比较  大数下沉  小数上浮
    	//    如果前一个数比后一个大 就交换
    	
    	function fnSort( arr ){
    		var t = 0;
    		for( var i = 0 ; i < arr.length - 1 ; i++ ){//n个数比较了几趟
    			for( var j = 0 ; j < arr.length-1-i ; j++ ){//控制每趟循环比较了几次
    				if( arr[j] > arr[j+1] ){
    					t = arr[j];
    					arr[j] = arr[j+1];
    					arr[j+1] = t;
    				}
    			}
    		}
    		return arr;
    	}
    	//alert( fnSort( [12,562,23,67,7,8,9,5] ) );
    	/*
    	 i  j
    	 0  5  
    	 1  4
    	 2  3
    	 3  2
    	 j<= 5-i
    	 */
    	
    	
    	//选择排序 :
    	//思路:每一趟比较时  依次取出数组中的某个数和后面的数比较
    	//如果该数大于 后面的数 就交换
    	function fnSort( arr ){
    		var t;
    		//arr[0]
    		for( var i = 0 ; i < arr.length - 1 ; i++ ){
    			for( var j = i+1 ; j < arr.length ; j++ ){
    				if( arr[i] > arr[j] ){
    					t = arr[i];
    					arr[i] = arr[j];
    					arr[j] = t;
    				}
    			}
    		}
    		return arr;
    	}
    	
    	//alert( fnSort( [89,12,7,67,2] ) );
       
       
       
                 
    /*
                                       
                封装一个碰撞函数
                                       
    */
    function pz(obj1,obj2){
    	var L1 = obj1.offsetLeft;
    	var R1 = obj1.offsetLeft + obj1.offsetWidth;
    	var T1 = obj1.offsetTop;
    	var B1 = obj1.offsetTop + obj1.offsetHeight;
    	var L2 = obj2.offsetLeft;
    	var R2 = obj2.offsetLeft + obj2.offsetWidth;
    	var T2 = obj2.offsetTop;
    	var B2 = obj2.offsetTop + obj2.offsetHeight;
    	if( R1<L2 || L1>R2 || T1>B2 || T2>B1 ){
    		//碰不上  
    		return false;
    	}else{
    		return true;
    	}
    }
                 
                 
    /*
        
         dom高级操作运动
         
    */
    //json参数中 存储多个属性attr和目标值target
    function startMove(obj,json,callback){
    	clearInterval( obj.timer );//为了防止频繁操作按钮时  运动加速的问题
    	obj.timer = setInterval( () => {
    		var flag = true;//假设循环结束后 值为true 表示所有动作都结束了 可以停止定时器了
    		for( var attr in json ){
    			//获取当前运动元素的实际样式值  (非行内样式  getComputedStyle)
    			var current = 0;
    			if( attr == "opacity" ){
    				current =  getStyle( obj , attr ) * 100;
    			}else{
    				current = parseInt( getStyle( obj , attr ) );
    			}
    			var speed = (json[attr] - current)/10;
    			speed = speed > 0 ? Math.ceil( speed ) : Math.floor( speed );
    			if( current != json[attr] ){//说明运动没有结束
    				flag = false;
    			}
    			
    			//运动没有结束 需要继续设置该元素的样式
    			if( attr == "opacity" ){
    				obj.style[attr] = (current + speed)/100;
    			}else if( attr == "zIndex" ){
    				obj.style[attr] = json[attr];//直接达到目标值就可以
    			}else{
    				obj.style[attr] = current + speed + "px";
    			}
    		}
    		//例
    		/*d4.onmouseover = function(){
    			startMove( this , { left : 350 , top : 300 } ,function(){
    				startMove( d4 , { opacity : 30 } , function (){
    					startMove( d4 ,{ width : 300 , height:400 } );
    				})
    			} );
    		}*/
    		
    		//循环结束后 判断 flag的值是否为 true
    		if( flag ){
    			clearInterval( obj.timer );
    			//上一个动作完成了 就进入到下一个动作 可变的动作 
    			if( callback ){
    				callback();//调用下一个功能
    			}
    		}
    	} , 30 )
    }
    
    
    /*
    	 
    	 封装一个函数  功能是获取任意一个元素非行内样式值
    	 
    */
    function getStyle(obj,attr){
    	//兼容
    	if( getComputedStyle ){
    		return window.getComputedStyle(obj)[attr];
    	}else{
    		return obj.currentStyle[attr];
    	}
    }
    
    //函数功能:获取数组最小值下标
        
            this.getMinHeightIndex = function(){
    			var min = Math.min.apply( null,this.hArr );//获取数组的最小值
    			return this.hArr.indexOf( min ); //获取数组中最小值的下标
    	    }
    

      

  • 相关阅读:
    20155239 2016-2017-2 《Java程序设计》第7周学习总结
    20155231 2016-2017-2 《Java程序设计》第4周学习总结
    20155231 2016-2017-2 《Java程序设计》第3周学习总结
    20155231 2016-2017-2 《Java程序设计》第2周学习总结
    20155231 2016-2017-2 《Java程序设计》第1周学习总结
    第三次预作业20155231邵煜楠:虚拟机上的Linux学习
    预备作业2:阅读心得(20155231邵煜楠)
    博客初体验:我期望的师生关系
    安装虚拟机
    20155227第二次预备作业
  • 原文地址:https://www.cnblogs.com/wasbg/p/13267066.html
Copyright © 2011-2022 走看看