只是想知道如何測試一個原型是可用的基於它的名字。JS:新窗口[className]停止執行,如果原型沒有找到
例如:
var node = new window[className];
console.log('test');
沒有打印任何東西,如果所提供的類名不匹配,一直可用的原型。
所以測試:
if(! window[className]) {...}
做出什麼事情發生,執行只是停止,沒有可用的過去的那點斷點。
我該如何處理這種情況? 謝謝!
只是想知道如何測試一個原型是可用的基於它的名字。JS:新窗口[className]停止執行,如果原型沒有找到
例如:
var node = new window[className];
console.log('test');
沒有打印任何東西,如果所提供的類名不匹配,一直可用的原型。
所以測試:
if(! window[className]) {...}
做出什麼事情發生,執行只是停止,沒有可用的過去的那點斷點。
我該如何處理這種情況? 謝謝!
如果希望在className
不可用的情況發生什麼,只是用一種simple else
statement:
if(! window[className]) {
...
} else {
alert("No truthy property '"+className+"' was found on the window object");
throw new Error("something bad happened");
// whatever
}
你索要'else'分支?你測試哪個'className'? – Bergi 2012-08-04 19:51:56
順便說一句:Javascript沒有「類」。我猜,你搜索的「原型」被稱爲構造函數。 – Bergi 2012-08-04 19:52:55
className是例如「GroundBlock」,如果沒有這樣的原型名稱,代碼就停止。它使用Safari瀏覽器,無法在其他瀏覽器上測試,代碼不兼容:( – Jem 2012-08-04 19:53:18