我在做這個惡意的JavaScript行一些嘗試:var undefined = true;
var undefined = true;
在JavaScript中每一個未初始化的變量有undefined
其價值僅僅是持有'undefined'
特殊值的變量,所以下面應該執行alert
:
var undefined = true,
x;
if (x) {
alert('ok');
}
但它沒有,我的問題是爲什麼?
在進一步的實驗,我試過如下:
var undefined = true,
x = undefined;
if (x) {
alert('ok');
}
這一次,alert
執行。
所以我的問題是...因爲在第一個片段x
包含undefined
(因爲它沒有初始化),爲什麼alert
沒有執行?奇怪的是,明確說明時x
是undefined
(x = undefined
),該alert
執行...
呵呵;如果變量'undefined'的值是'undefined',會發生什麼? – Pindatjuh 2010-03-28 20:03:06
@Pindatjuh:就像變量有其他名字一樣。對於一個名爲'undefined'的變量沒有什麼特別之處。 – dtb 2010-03-28 20:25:42