超级有用的JavaScript函数

jopen 11年前

下面是一些超级有用的JavaScript函数。

将字符串中的第一个字母大写

这个函数是PHP uctoupper()函数的一个克隆!

 function ucfirst(string) {     return string.charAt(0).toUpperCase() + string.slice(1);  } 

搜索JavaScript 数组和对象集合

提供一个对象或一个对象数组,一个键和一个值。然后返回匹配键的对象或对象 - 值对。

 function searchObjects(obj, key, val) {     var objects = [];      for (var i in obj) {          if (typeof obj[i] == 'object') {              objects = objects.concat(searchObjects(obj[i], key, val));          } else if (i == key && obj[key] == val) {              objects.push(obj);          }      }      return objects;  } 

搜索JavaScript对象集合,返回索引位置

通常用它来查找索引,然后就可以直接引用该对象。

 function getObjectIndexFromId(obj, id) {     if (typeof obj == "object") {          for (var i = 0; i < obj.length; i++) {              if (typeof obj[i] != "undefined" && typeof obj[i].id != "undefined" && obj[i].id == id) {                  return i;              }          }      }      return false;  } 

比较JavaScript对象

提供了两个对象,它会告诉你,它们是否相同。可用于实现表单“更改未保存”的提示非常有用。

function compareObjects(obj1, obj2) {      for (var param in obj1) {          if (typeof obj1[param] == 'object' && obj1[param] != null) {              //If the length is different, we dont need to check if the values have changed (As it is obvious they have!)              if (typeof obj2[param] != "undefined" && obj1[param].length != obj2[param].length) {                  return true;              }              //Return if we have already found evidence of a change, otherwise keep checking the rest of the object              if (compareObjects(obj1[param], obj2[param]) === true) return true;          } else {              //Ignore the angular added $$hashKey variable              if (param != "$$hashKey") {                  //If the values are different then return true                 if (obj1[param] != obj2[param]) {                      return true;                  }              }          }      }      //Once every value has been checked and nothing is different, return false;      return false;  } 

MySQL的日期时间转为JavaScript的日期

快速将一个MySQL的日期时间字符串转换成JavaScript的日期对象。

 function mysqlDateTimeToJSDate(datetime) {     // Split timestamp into [ Y, M, D, h, m, s ]     var t = datetime.split(/[- :]/);      return new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);  }