JavaScript判斷空值、NULL、undefined的方法對比
JavaScript五種原始類型(boolean、number、string、null、undefined)中的一種。在鑒別JavaScript原始類型的時候我們會用到typeof操作符。Typeof操作符可用于字符串、數(shù)字、布爾和未定義類型。
一、javaScript 五種空值和假值
分別為 undefined,null,false,"",0,這五個值的共同點是在執(zhí)行 if 語句時都會執(zhí)行 false 分支,執(zhí)行對應(yīng)的非語句的時候都執(zhí)行 true 分支。
1、undefined:表明變量沒有初始化,即 “未定義”;
2、null:js 關(guān)鍵字,用于描述 “空值”,表示數(shù)字、字符串、對象是 “無值” 的,typeof 為 object,但不具備對象實例的屬性與方法;
3、false、""、0:在 if 語句中表現(xiàn)為假值,但是他們都是有意義的數(shù)據(jù),只是被用作空值或假值;
JavaScript 如果要判斷變量是否已定義,可以使用 typeof,數(shù)據(jù)類型如下:
typeof(undefined) == 'undefined' typeof(null) == 'object' typeof("") == 'String' typeof(0) == 'number' typeof(false) == 'boolean'
typeof 返回的是字符串,有六種可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
提示:只能用 === 運算來測試某個值是否是未定義的,因為 == 運算符認為 undefined 值等價于 null
注釋:null 表示無值,而 undefined 表示一個未聲明的變量,或已聲明但沒有賦值的變量,或一個并不存在的對象屬性 var tmp = undefined; if (typeof (tmp) == "undefined"){ alert ("undefined"); }
二、數(shù)據(jù)是否為空代碼示例
// var a = ""; // var a = " "; // var a = null; // var a = undefined; // var a = []; // var a = {}; // var a = NaN; if(a === undefined) { // 只能用 === 運算來測試某個值是否是未定義的 console.log("為undefined"); } if(a == null) { // 等同于 a === undefined || a === null console.log("為null"); } // String if(a == "" || a == null || a == undefined){ // "",null,undefined console.log("為空"); } if(!a){ // "",null,undefined,NaN console.log("為空"); } if(!$.trim(a)){ // "",null,undefined console.log("為空"); } // Array if(a.length == 0){ // "",[] console.log("為空"); } if(!a.length){ // "",[] console.log("為空"); } // Object {} if($.isEmptyObject(a)){ // 普通對象使用 for...in 判斷,有 key 即為 false console.log("為空"); }
到此這篇關(guān)于JavaScript判斷空值、NULL、undefined的方法對比的文章就介紹到這了,更多相關(guān)jst判斷空值、NULL、undefined內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談javascript的call()、apply()、bind()的用法
這篇文章主要為大家詳細介紹了javascript的call()、apply()、bind()的用法,探討JavaScript中函數(shù)的一些特殊用法,感興趣的小伙伴們可以參考一下2016-02-02typeScript?核心基礎(chǔ)之接口interface
本篇文章主要介紹?typeScript?中接口是啥?如何定義的?接口是如何進行擴展的以及類如何實現(xiàn)接口,接下來和小編一起進入下面文章一起學(xué)習(xí)?typeScript?接口2022-02-02