JavaScript本身沒有判斷一個變量是不是空值的函數,因為變量有可能是string,object,number,boolean等類型,類型不同,判斷方法也不同。所以在文章中寫了一個函數,用以判斷JS變量是否空值,如果是undefined, null, '', NaN,false,0,[],{} ,空白字符串,都返回true,否則返回false
方法:
function isEmpty(v) { switch (typeof v) { case 'undefined': return true; case 'string': if (v.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true; break; case 'boolean': if (!v) return true; break; case 'number': if (0 === v || isNaN(v)) return true; break; case 'object': if (null === v || v.length === 0) return true; for (var i in v) { return false; } return true; } return false; }
測試:
isEmpty() //true isEmpty([]) //true isEmpty({}) //true isEmpty(0) //true isEmpty(Number("abc")) //true isEmpty("") //true isEmpty(" ") //true isEmpty(false) //true isEmpty(null) //true isEmpty(undefined) //true 何問起