0

私が書いたこのjavascriptがあり、bgimageが7に等しくないときに「else」イベントを発生させたいです。この問題を調べましたが、変数がnullか定義されていないかどうかを確認する方法がわかりません。現在、bgimageが7と等しくない場合、Firebugは「bgimageが定義されていません」とだけ表示します。

事前にこれを行う方法を教えてくれてありがとう。

if (bgimage == 7)
{
document.writeln("\n<img src='/v/vspfiles/templates/donnell/images/Company/services_bg.jpg' id='bg' />");
}
else
{
showImage();
} 
4

3 に答える 3

2

変数のタイプをチェックして、変数が未定義かどうかを判別します。

if (typeof bgimage != 'undefined' && bgimage == 7)
于 2012-08-28T21:01:07.137 に答える
0

ステートメントで使用するときに、現在のスコープ以上でbgimage宣言されていない場合(またはなしでグローバル変数として値が割り当てられている場合)、そのエラーが発生します。次のようにテストできます。varvarif

if (typeof bgimage === "undefined") {
    // hasn't been declared, or is set to undefined
    // do something
} else if (bgimage == 7) {
    // etc

または、1行でテストします。

if (typeof bgimage != "undefined" && bgimage == 7) {
于 2012-08-28T21:01:21.140 に答える
0

を使用して変数が未定義であるかどうかをテストしtypeof、それを元の条件と組み合わせることができます。

if (typeof(bgimage) != "undefined" && bgimage == 7)

したがってelse、bgimageが未定義の場合、または定義されているが7に等しくない場合は、コードのセクションが使用されます。

于 2012-08-28T21:01:56.213 に答える