JS函数收集001

记录下开发过程中常用到的JS问题

1.  直接获取对性属性,更改值无效。
遇到的一个郁闷的问题,下面这样修改值居然无效。
Java代码
  1. var idValue=document.getElementById("id").value;   
  2. idValue="555";  
var idValue=document.getElementById("id").value;
idValue="555";

需要这样写:
Java代码
  1. var id=document.getElementById("id");   
  2. id.value="555";  
var id=document.getElementById("id");
id.value="555";


获取指定月的最后一天的日期
Java代码
  1. function getLastDate(month, year){     
  2.         var ar = new Array(12);    
  3.         ar[0] = 31// January    
  4.         ar[1] = (!leapYear(year)) ? 29 : 28// February    
  5.         ar[2] = 31// March    
  6.         ar[3] = 30// April    
  7.         ar[4] = 31// May    
  8.         ar[5] = 30// June    
  9.         ar[6] = 31// July    
  10.         ar[7] = 31// August    
  11.         ar[8] = 30// September    
  12.         ar[9] = 31// October    
  13.         ar[10] = 30// November    
  14.         ar[11] = 31// December    
  15.         return ar[month-1];    
  16.     }    
  17.   
  18.     function leapYear(year) {    
  19.         if (year % 4 == 0)    
  20.         return true;    
  21.         return false;    
  22.     }   
function getLastDate(month, year){  
		var ar = new Array(12); 
		ar[0] = 31; // January 
		ar[1] = (!leapYear(year)) ? 29 : 28; // February 
		ar[2] = 31; // March 
		ar[3] = 30; // April 
		ar[4] = 31; // May 
		ar[5] = 30; // June 
		ar[6] = 31; // July 
		ar[7] = 31; // August 
		ar[8] = 30; // September 
		ar[9] = 31; // October 
		ar[10] = 30; // November 
		ar[11] = 31; // December 
		return ar[month-1]; 
	} 

	function leapYear(year) { 
		if (year % 4 == 0) 
		return true; 
		return false; 
	} 

简单Map实现
//------------简单类似Map的功能 Start-----------//
Java代码
  1. function Map() {       
  2.  var struct = function(key, value) {       
  3.   this.key = key;       
  4.   this.value = value;       
  5.  }       
  6.         
  7.  var put = function(key, value){       
  8.   for (var i = 0; i < this.arr.length; i++) {       
  9.    if ( this.arr[i].key === key ) {       
  10.     this.arr[i].value = value;       
  11.     return;       
  12.    }       
  13.   }       
  14.    this.arr[this.arr.length] = new struct(key, value);       
  15.  }       
  16.         
  17.  var get = function(key) {       
  18.   for (var i = 0; i < this.arr.length; i++) {       
  19.    if ( this.arr[i].key === key ) {       
  20.      return this.arr[i].value;       
  21.    }       
  22.   }       
  23.   return '';       
  24.  }       
  25.         
  26.  var remove = function(key) {       
  27.   var v;       
  28.   for (var i = 0; i < this.arr.length; i++) {       
  29.    v = this.arr.pop();       
  30.    if ( v.key === key ) {       
  31.     continue;       
  32.    }       
  33.    this.arr.unshift(v);       
  34.   }       
  35.  }       
  36.         
  37.  var size = function() {       
  38.   return this.arr.length;       
  39.  }       
  40.         
  41.  var isEmpty = function() {       
  42.   return this.arr.length <= 0;       
  43.  }       
  44.       
  45.  this.arr = new Array();       
  46.  this.get = get;       
  47.  this.put = put;       
  48.  this.remove = remove;       
  49.  this.size = size;       
  50.  this.isEmpty = isEmpty;       
  51. }     
  52. //------------简单类似Map的功能 end-----------//  
function Map() {    
 var struct = function(key, value) {    
  this.key = key;    
  this.value = value;    
 }    
     
 var put = function(key, value){    
  for (var i = 0; i < this.arr.length; i++) {    
   if ( this.arr[i].key === key ) {    
    this.arr[i].value = value;    
    return;    
   }    
  }    
   this.arr[this.arr.length] = new struct(key, value);    
 }    
     
 var get = function(key) {    
  for (var i = 0; i < this.arr.length; i++) {    
   if ( this.arr[i].key === key ) {    
     return this.arr[i].value;    
   }    
  }    
  return '';    
 }    
     
 var remove = function(key) {    
  var v;    
  for (var i = 0; i < this.arr.length; i++) {    
   v = this.arr.pop();    
   if ( v.key === key ) {    
    continue;    
   }    
   this.arr.unshift(v);    
  }    
 }    
     
 var size = function() {    
  return this.arr.length;    
 }    
     
 var isEmpty = function() {    
  return this.arr.length <= 0;    
 }    
   
 this.arr = new Array();    
 this.get = get;    
 this.put = put;    
 this.remove = remove;    
 this.size = size;    
 this.isEmpty = isEmpty;    
}  
//------------简单类似Map的功能 end-----------//



去前后空格
Java代码
  1. function trim(s){   
  2.    return s.relace(/^/s*/,' ').relace(//s*$/,' ');   
  3. }  
function trim(s){
   return s.relace(/^/s*/,' ').relace(//s*$/,' ');
}

判断undefined类型
Java代码
  1. var exp = undefined;   
  2. if  (typeof(exp) == "undefined") {   
  3.     alert("undefined");}  
var exp = undefined;
if  (typeof(exp) == "undefined") {
    alert("undefined");}

删除节点
Java代码
  1. xxx.removeChild(obj)   xxx是所删除节点的父节点    
  2. xxx.removeNode(true)   xxx是所要删除的节点(IE支持)    
  3. object.parentNode.removeChild(object) (firefox支持)   
xxx.removeChild(obj)   xxx是所删除节点的父节点 
xxx.removeNode(true)   xxx是所要删除的节点(IE支持) 
object.parentNode.removeChild(object) (firefox支持) 



清除所有的ecForm的titleId
Java代码
  1. function clear(tagsName){   
  2.     var allInput=document.getElementsByName(tagsName);   
  3.     for(var i=allInput.length-1;i>=0;i--){   
  4.         if(allInput[i].type=='hidden'){   
  5.             allInput[i].parentNode.removeChild(allInput[i]);   
  6.         }   
  7.     }   
  8. }   
  9.   
  10. 这里循环需要倒序。  
function clear(tagsName){
	var allInput=document.getElementsByName(tagsName);
	for(var i=allInput.length-1;i>=0;i--){
		if(allInput[i].type=='hidden'){
			allInput[i].parentNode.removeChild(allInput[i]);
		}
	}
}

这里循环需要倒序。


去除字符串或者数组的重复数据

Java代码
  1. function getUnique(str){   
  2.     if(str==""){   
  3.         return str;   
  4.     }   
  5.     var strAry=str.split(",") ;   
  6.     return unique(strAry).join(",");   
  7. }   
  8. function unique(data){      
  9.     data = data || [];      
  10.         var a = {};      
  11.     for (var i=0; i<data.length; i++) {      
  12.         var v = data[i];      
  13.         if (typeof(a[v]) == 'undefined'){      
  14.             a[v] = 1;      
  15.         }      
  16.     };      
  17.     data.length=0;      
  18.     for (var i in a){      
  19.         data[data.length] = i;      
  20.     }      
  21.     return data;      
  22. }  
function getUnique(str){
	if(str==""){
		return str;
	}
	var strAry=str.split(",") ;
	return unique(strAry).join(",");
}
function unique(data){   
    data = data || [];   
        var a = {};   
    for (var i=0; i<data.length; i++) {   
        var v = data[i];   
        if (typeof(a[v]) == 'undefined'){   
            a[v] = 1;   
        }   
    };   
    data.length=0;   
    for (var i in a){   
        data[data.length] = i;   
    }   
    return data;   
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值