歡迎指正,補充!數組
/**
* 判斷變量是否爲空,
* @param {[type]} param 變量
* @return {Boolean} 爲空返回true,不然返回false。
*/
function isEmpty(param){
if(param){ var param_type = typeof(param); if(param_type == 'object'){ //要判斷的是【對象】或【數組】或【null】等 if(typeof(param.length) == 'undefined'){ if(JSON.stringify(param) == "{}"){ return true;//空值,空對象 } }else if(param.length == 0){ return true;//空值,空數組 } }else if(param_type == 'string'){ //若是要過濾空格等字符 var new_param = param.trim(); if(new_param.length == 0){ //空值,例如:帶有空格的字符串" "。 return true; } }else if(param_type == 'boolean'){ if(!param){ return true; } }else if(param_type== 'number'){ if(!param){ return true; } } return false;//非空值 }else{ //空值,例如: //(1)null //(2)可能使用了js的內置的名稱,例如:var name=[],這個打印類型是字符串類型。 //(3)空字符串''、""。 //(4)數字0、00等,若是能夠只輸入0,則須要另外判斷。 return true; } }
擴展知識:函數
應該避免使用 JavaScript 內置的對象、屬性和方法的名稱做爲 Javascript 的變量或函數名:spa
Array | Date | eval | function | hasOwnProperty |
Infinity | isFinite | isNaN | isPrototypeOf | length |
Math | NaN | name | Number | Object |
prototype | String | toString | undefined | valueOf |