javascript中null為什麼會是數字

2021-03-04 01:51:21 字數 5510 閱讀 6546

1樓:司馬唐遷

null是乙個數字嗎?不是的!但是運算符號可以將它轉化為乙個數字,而且轉化的結果是0。你可以試一下,+null、-null、null/1、null*1,結果都是0。

2樓:cc貓疼

在關係運算子中,針對null,undefined與數字型運算,會先把null,undefined強制轉換為number型別。所以number(null)會等於0,而undefined會等於nan。

3樓:匿名使用者

null不是數字,但是parseint(null)是nan;parseint(null/100)是0

這個我驗證了的

在javascript中,null>=0 為真,null==0卻為假,null到底是什麼?

4樓:匿名使用者

javascript中null 是乙個物件,為空。typeof null 返回 'object' 。 null 是 javascript 保留關鍵字。

1、javascript中"null==0"的時候是特殊處理,不會轉為數字型別,不會轉化為數值。

2、如果左面是字串右面是數值則會被轉化。

3、null是物件(空物件, 沒有任何屬性和方法)。而 0 是數字。

4、javascript中「==」並不轉換型別,只是比較。

所以,null==0 為false。

javascript中為什麼null==0為false而null>=0為true

5樓:匿名使用者

null > 0 //  null 嘗試轉型為number , 則為0 . 所以結果為 false,

null >= 0 //  null 嘗試轉為number ,則為0 , 結果為 true.

null == 0 // null在設計上,在此處不嘗試轉型. 所以 結果為false.

1. 關係運算子 和 相等運算子 並不是乙個類別的.

2. 關係運算子,在設計上總是需要運算元嘗試轉為乙個number,而相等運算子在設計上,則沒有這方面的考慮.

javascript中null和undefined的區別?

6樓:愛佳佳的恐龍

1.型別不一樣:

console.log(typeof undefined);//undefined

console.log(typeof null);//object2.轉化為值時不一樣:

undefined為nan ,null為0console.log(number(undefined));//nan

console.log(number(10+undefined));//nan

console.log(number(null));//0console.log(number(10+null));//103.

undefined===null;//falseundefined==null;//true

7樓:

在javascript中存在這樣兩種原始型別:null與undefined。這兩種型別常常會使javascript的開發人員產生疑惑,在什麼時候是null,什麼時候又是undefined?

undefined型別只有乙個值,即undefined。當宣告的變數還未被初始化時,變數的預設值為undefined。

null型別也只有乙個值,即null。null用來表示尚未存在的物件,常用來表示函式企圖返回乙個不存在的物件。

js **

var ovalue;

alert(ovalue == undefined); //output "true"

這段**顯示為true,代表ovlaue的值即為undefined,因為我們沒有初始化它。

js **

alert(null == document.getelementbyid('notexistelement'));

當頁面上不存在id為"notexistelement"的dom節點時,這段**顯示為"true",因為我們嘗試獲取乙個不存在的物件。

js **

alert(typeof undefined); //output "undefined"

alert(typeof null); //output "object"

第一行**很容易理解,undefined的型別為undefined;第二行**卻讓人疑惑,為什麼null的型別又是object了呢?其實這是javascript最初實現的乙個錯誤,後來被ecmascript沿用下來。在今天我們可以解釋為,null即是乙個不存在的物件的佔位符,但是在實際編碼時還是要注意這一特性。

js **

alert(null == undefined); //output "true"

ecmascript認為undefined是從null派生出來的,所以把它們定義為相等的。但是,如果在一些情況下,我們一定要區分這兩個值,那應該怎麼辦呢?可以使用下面的兩種方法。

js **

alert(null === undefined); //output "false"

alert(typeof null == typeof undefined); //output "false"

使用typeof方法在前面已經講過,null與undefined的型別是不一樣的,所以輸出"false"。而===代表絕對等於,在這裡null === undefined輸出false。

8樓:匿名使用者

undefined表示

變數宣告但未初始化時的值,

null表示準備用來儲存物件,還沒有真正儲存物件的值。從邏輯角度看,null值表示乙個空物件指標。

javascript(ecmascript標準)裡共有5種基本型別:undefined, null, boolean, number, string,和一種複雜型別object。可以看到null和undefined分屬不同的型別,未初始化定義的值用typeof檢測出來是"undefined"(字串),而null值用typeof檢測出來是"object"(字串)。

任何時候都不建議顯式的設定乙個變數為undefined,但是如果儲存物件的變數還沒有真正儲存物件,應該設定成null。

實際上,undefined值是派生自null值的,ecmascript標準規定對二者進行相等性測試要返回true,即

alert(null==undefined);  // true

9樓:犬瘟熱

undefined型別只有乙個值,即undefined。當宣告的變數還未被初始化時,變數的預設值為undefined。

null型別也只有乙個值,即null。null用來表示尚未存在的物件,常用來表示函式企圖返回乙個不存在的物件。

拓展資料:javascript一種直譯式指令碼語言,是一種動態型別、弱型別、基於原型的語言,內建支援型別。它的直譯器被稱為javascript引擎,為瀏覽器的一部分,廣泛用於客戶端的指令碼語言,最早是在html(標準通用標記語言下的乙個應用)網頁上使用,用來給html網頁增加動態功能。

在2023年時,由***scape公司的brendan eich,在網景導航者瀏覽器上首次設計實現而成。因為***scape與sun合作,***scape管理層希望它外**起來像java,因此取名為javascript。但實際上它的語法風格與self及scheme較為接近。

為了取得技術優勢,微軟推出了jscript,cenvi推出scriptease,與javascript同樣可在瀏覽器上執行。為了統一規格,因為javascript相容於ecma標準,因此也稱為ecmascript。

10樓:匿名使用者

它們都是javascript的基本資料型別之一

區別:undefined:當宣告的變數還未被初始化時,變數的預設值為undefined。

null:用來表示尚未存在的物件,常用來表示函式企圖返回乙個不存在的物件。

一般可以這麼檢驗

var a = null

var b = undefined

var c;

console.log('**********==')

console.log(a == b) // true

console.log(a === b) // false

console.log(b === c) // 注意:返回true

console.log('**********==')

console.log(a === null) // true

console.log(b === null) // false

console.log('**********==')

console.log(a === undefined) // false

console.log(b === undefined)// true

一般在條件if中,無論a是null還是undefined,都會這麼使用

if (!a)

11樓:匿名使用者

這個我喜歡用java中的記憶體

堆疊模型來解釋(注:只是模擬,javascript不是java,還有這是我自己的理解,我不知道有沒有其他人是這麼理解的)

null相當於在棧裡有變數了,但是沒有指向堆裡的位址undefined是連棧裡都沒有

12樓:匿名使用者

null是不存在

undefined錯誤、不明確、未定義

一般在js中判斷空值的作法如下

if(s==null||s==undefined||s=="")

13樓:匿名使用者

undefine是未定義的物件

null是定義的物件 但是沒有例項 ....

可以理解為null是defined了的obj只是沒有賦值或new

javascript中 null和空的區別

14樓:折柳成萌

var str1 = null; str引用為空

var str2 = ""; str引用乙個空串

也就是null沒有分配空間,""分配了空間,因此str1還不是乙個例項化的物件,而str2已經例項化。

15樓:匿名使用者

不知道到底想顧慮那種,既然已經定義並且獲得了usernamevalue,那麼length==0即可過濾空

javascript null 啥情況會有這個

16樓:匿名使用者

null不是一種型別 是資料庫自定義的空的表現形式

javascript為什麼給變數宣告為null

17樓:匿名使用者

寫**的一種方式。相當於賦初始值。

因為,一開始的時候可能也不知道他會返回什麼值。

當非回null時,說明該變數答被變動過。

好的程式設計習慣~~~90%都可以適用,10%不適用。(確實知道返回值的需要用對應型別,最完美。)

C中,null的反義詞,C 中 和Null的區別?

空格,a z,0 9,等各種符號,字串 等各種字串,只要佔用記憶體空間的符號,都是null的反義詞。沒有反義詞 例項化了設定預設值了就不為null了嘛 null 當然是這個 sql中是 not null c 中沒有 c 中 和null的區別?舉例說,電影院裡 代表乙個空位子,有座位,但是沒有人做,n...

MySQL中NULL和空值的區別

空值是不佔用空間的,mysql中的null其實是佔用空間的。不過在mysql資料庫中執行sql語句,需要小心兩個陷阱 1 空值不一定為空 空值是乙個比較特殊的字段。在mysql資料庫中,在不同的情形下,空值往往代表不同的含義。這是mysql資料庫的一種特性。如在普通的字段中 字元型的資料 空值就是表...

javascript中什麼意思,JavaScript中是什麼意思?

javascript中 表示嚴格不相等.javascript中,unll與undefined並不相同。在if中使用的時候,它們都是false。而且null undefined為真,但是null undefined為假,所以null undefined 返回true.prompt 請輸入0至10之間的...