js 中null和undefined的區別和用法
js中,每次想知道一個物件是否為空時,首先想到的判斷條件是"o==null",但轉念一想,感覺還不大安心,又加上“||o== undefined”,這樣終於
心滿意足了!這就側面表現出我對null和undefined認知的不足及不自信。而每次查了資料,看過之後又給忘了,所以這裡姑且做個筆記!
1.null表示一個物件不存在,即“沒有物件”;undefined表示基本型別或物件的值沒被定義,也就“缺少值”!所以要判斷一個值是否存在可以這樣:
objA.valueA === undefined
而要判斷一個物件是否為空可以:
objA.valueA == null
2. null和undefined在js中其實沒多少區別,比如:
var a = null;
var b = undefined;
if (a == b) {
alert("一般來說null和undefined在if語句中是相等的");
}
if (!a) {
alert("null會轉為false");
}
if (!undefined) {
alert("undefined會轉為false")
}<pre name="code" class="javascript">alert(typeof undefined);//undefined
alert(typeof null);//object
3.我們寫js時,可以設定一個值為null,但不可設定一個值為undefined,即
咱們回過頭再看這一句:objA.valueA = undefined;//valueA已存在,再給它設定為undefined肯定不合理嘛。
if (o == null || o == undefined) {
}
這一句就是說,如果物件o為空或其值沒定義的話,就執行程式碼塊中的內容,所以這樣判斷也是可以的。相關推薦
淺談JS中的!=、== 、!==、===的用法和區別 JS中Null與Undefined的區別 讀取XML文件 獲取路徑的方式 C#中Cookie,Session,Application的用法與區別? c#反射 抽象工廠
main 收集 data- 時間設置 oba ase pdo 簡單工廠模式 1.0 var num = 1; var str = ‘1‘; var test = 1; test == num //true 相同類型 相同值 te
JS中Null與Undefined的區別
class undefine 為我 false 應該 一行代碼 等於 解釋 什麽 在JavaScript中存在這樣兩種原始類型:Null與Undefined。這兩種類型常常會使JavaScript的開發人員產生疑惑,在什麽時候是Null,什麽時候又是Undefined?Un
js 中null和undefined的區別和用法
js中,每次想知道一個物件是否為空時,首先想到的判斷條件是"o==null",但轉念一想,感覺還不大安心,又加上“||o== undefined”,這樣終於 心滿意足了!這就側面表現出我對null和undefined認知的不足及不自信。而每次查了資料,看過之後又給忘了,所以
學習:JS中null 和 undefined 的主要區別
注意在 JScript 中 null 和 undefined 的主要區別是 null 的操作象數字 0,而 undefined 的操作象特殊值NaN (不是一個數字)。對 null 值和 undefined 值作比較總是相等的。 var a; var b=null; var
js中null和undefined的區別
JavaScript有兩個特殊的原始值:null和undefined,它們不是數字、字串和布林值。它們通常分別代表了各自特殊型別的唯一的成員,也就說是它自有型別的唯一的一個成員。從技術上講,只有Javascript物件才能擁有方法,數字、字串和布林值都可以擁有自
CocosCreator開發筆記(20)-在JS中如何判斷undefined和null
不當用法 有時為了判斷某個值有效,JS新手會寫這種臃腫程式碼: if (data != null && typeof(data) != undefined && data != '') { ... } 為避免這種情況,首先要了解und
JS中的!=、== 、!==、=== 的用法和區別
<script type="text/javascript" src="jquery-3.2.1.js"></script> <script type="text/javascript"> $(function () { var v=1; var v1='
JS中null和undefine的區別
資料型別 undefine null number string boolean Object 1: undefine:引入這個值是為了區分空物件指標和未經初始化的變數。未經初始化的變數預設就取undefine。只有一個值 空物件指標:未分配或者尚未指向任何地方的指標。可以確保不指向任何物件
js中!和!!的區別及用法簡介
js中!的用法是比較靈活的,它除了做邏輯運算常常會用!做型別判斷,可以用!與上物件來求得一個布林值, 1、!可將變數轉換成boolean型別,null、undefined和空字串取反都為false,其餘都為true。 複製程式碼 1 !null=true 2 3
JS比較運算子及null和Undefined區別
比較運算子 當我們對Number做比較時,可以通過比較運算子得到一個布林值: 2 > 5; // false 5 >= 2; // true 7 == 7; // true 實際上,JavaScript允許對任意資料型別做比較: false == 0;
null 和 undefined 區別
fin nbsp if語句 undefined 有一個 賦值 undefine 區別 -- ---恢復內容開始--- 1.在javascipt中,將一個變量賦值為undefined 或 null ,幾乎沒什麽區別。 2. 在if語句中undefined 和 null 都會
js中,indexOf()、substring()和substr()的區別
index length world mic 返回結果 document -s start star 1. indexOf() 返回指定的字符串在字符串首次出現的位置。 比如 var str="Hello world!" documen
[js]js中變量帶var和不帶var的區別
code scrip window div 分享 全局變量 賦值 blog error: 上圖已說的很清晰了. 下面代碼是贅述 <script> //帶var和不帶var的區別: // 1.只有帶var的才可以預解釋,所以在賦值的前操作不會報
js中獲取時間new date()的用法和獲取時間戳
etsec 開始 ava time() 方法 spa value 元素 index 獲取時間: 1 var myDate = new Date();//獲取系統當前時間 獲取特定格式的時間:
js中var a=new Object()和var a={}有什麽區別嗎?
ext 語言 details () targe new 簡易 end 屬性 應該是沒有區別的,兩者都是生成一個默認的Object對象。js和其它語言一樣,一切對象的基類都是Object,所以,new Object()和簡易的{}是同樣的空對象,就是默認的對象。本來我以為{}
JS中遍歷普通陣列和字典陣列的區別
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
node.js中的定時器nextTick()和setImmediate()區別分析
nextTick()和setImmediate()都是延遲載入。但是nextTick()是放在當前佇列的最後一個,setImmediate()是下一個佇列的對首 console.log(1); //下一個佇列的對首 setImmediate(()=>{ console.log('set
認清js中var a=b=1和var a=1,b=1的區別
js中一次性定義多個變數的時候,可以用:var a=1,b=1這種中間用逗號隔開的方式,但有些時候為了省事,直接定義var a=b=1。那這兩種寫法方式最後效果是一樣的嗎?有沒有什麼區別呢?請大家看下面的範例: 1、用var a=b=1的方式 可以看出:變數b的作用域是全域性的,變
Node.js中path模組的resolve()和join()方法的區別
關於Node.js中path模組的resolve()和join()方法的比較,對照著總結看例子差不多以後在寫模組的時候思路就能很清晰了 resolve 作用:path.resolve() 該方法將一些的 路徑/路徑段 解析為絕對路徑。 語法:path.resolve([…path
js中兩個等於號和三個等於號的區別
首先,== equality 等同,=== identity 恆等。 ==, 兩邊值型別不同的時候,要先進行型別轉換,再比較。 ==,不做型別轉換,型別不同的一定不等。 下面分別說明: 先說 ===,這個比較簡單。下面的規則用來判斷兩個值是否===相等: 1、如果型別不同,