DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> js null,undefined,字符串小結
js null,undefined,字符串小結
編輯:JavaScript基礎知識     
復制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>null,undefined,字符串的內存占有情況隨談</title>
<style type="text/css">
body{font-size:12px;}
pre{padding:5px;border:solid 2px #dfdfdf;color:#fff; background-color:#666;}
</style>
</head>
<body>
<pre>
<strong>總結:</strong>
//還一個要注意的就是null雖然是Object型 但是它非常特殊,本身存放在stack棧中。你可以理解成它是Object的一種特殊形式。
//還有就是在其他面向對象的語言中一般情況下字符串都是存放在heap堆中,但在js中這個存放在棧stack中
//到這以後 突然想到一個問題 聲明和定義的區別,想了想 感覺本身是一個東西,兩種說法而已。此時,我突然想當聲明一個變量時,
//它是否在棧中呢 既是是否占用內存,(當然所有的代碼會存在代碼段,但用內存,可我說的不是這),我是指未定義的變量是否在棧中存在
//想了一會 我認為存在,原因就是undefined類型只有一個值undefined,當聲明的變量未初始化時,當然默認值是undefined的字面量。
//講一講null,其實它本來應該存在堆中 但是js堆ECMAscript實現錯了,然後現在也被標准接受 成為一個Object的占位符
</pre>
<script language="javascript" type="text/javascript">
alert(NaN == NaN);//false
alert(undefined === undefined);//true
alert(undefined == null);//true,原因是undefined時從null派生過來的。
alert(typeof null);
alert(undefined === null); //false
//通過上面的例子,可以寫個判斷是否為undefined的函數如下
var isUndefined = function (param) {
return param === undefined;
};
//還一個要注意的就是null雖然是Object型 但是它非常特殊,本身存放在stack棧中。你可以理解成它是Object的一種特殊形式。
//還有就是在其他面向對象的語言中一般情況下字符串都是存放在heap堆中,但在js中這個存放在棧stack中
</script>
</body>
</html>
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved