首頁 >web前端 >js教程 >JavaScript的null和undefined區別範例介紹_javascript技巧

JavaScript的null和undefined區別範例介紹_javascript技巧

WBOY
WBOY原創
2016-05-16 16:36:261129瀏覽

先說說undefined:

Javascript中的變數是弱型別的, 所以宣告變數的時候只要使用var關鍵字即可。如果是像C這樣的強型別語言, 宣告變數的時候如果沒有指定初始值,那麼會給他一個預設值,例如int變數的預設值是0。但是在Javascript這樣的弱型別語言中,沒有辦法確定到底該給這樣的變數一個什麼樣的預設值,例如我宣告一個變數

var v1;

是給他false還是0,或是'' ?

因為沒有型,所以無法確定。 在Javascript中對於這種生命後沒有給定初始值的變量,就給他一個undefined。不過前提是這個變數必須已經聲明,如果對於沒有宣告過的標識符,就會出錯。看看下面的程式碼。

vo="vo";//不使用var關鍵字建立的是全域變量,如果不賦值會報錯,如下
//v1;//會報錯
var v2;//undeifned
var v3="";//null
alert(vo);
//alert(v1);//
alert(v2);
alert(v3);

再來說null:

Javscript有幾個基本類型,Number,String,Boolean,Object。對於Object 類型的變量,他有兩種情況,一種是他是一個物件的實例,另一種他是一個空引用null,熟悉類似Java這樣物件導向語言的朋友應該很容易理解。對於這兩種情況,他們的類型都是Object。 Javascript中的變量,在賦值給他的時候,才
會確定它的類型,例如下面這樣。

程式碼如下:

var v1 = 1; 
var v2 = true; 

alert(typeof v1); //number 
alert(typeof v2); //boolean 

v2 = new Date(); 
alert(typeof v2); //object 

v2 = "str"; 
alert(typeof v2); //string 

v2 = null; 
alert(typeof v2); //object

可以看到,null在Javascript中代表一個特殊的Object類型的值,他用來表示空引用的概念,如果要將一個標識符聲明稱object類型,但是暫時不給他實例,那麼就可以將它先初始化為null,以便以後使用。
不一定絕對正確,簡單來說,對於所有變量,只要聲明後還沒有指定初始值 ,那麼他就是undefined,如果是Object類型用來表示空引用的概念,那麼就是用null來表示。

以下是一些補充:

null :表示無值;
undefined : 表示一個未宣告的變量,或已宣告但沒有賦值的變量,或一個不存在的物件屬性。 ==運算子將兩者視為相等。如果要區分兩者,請使用===或typeof運算子。使用if (!object){}兩者都包含了 。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn