js判定undefinedタイプの例示コード
1815 ワード
if (reValue== undefined){
alert("undefined");
}
, typeof :
if (typeof(reValue) == "undefined") {
alert("undefined");
}
typeofは文字列で、6つの可能性があります.「number」、「string」、「bollan」、「object」、「function」、「undefined」3.4データタイプ
ECMAScriptには5種類の簡単なデータタイプ(ベースデータタイプとも呼ばれる)があります.Unidefined、Null、Boolean、Number、String.もう1つの複雑なデータタイプ――Objectは、本質的には無秩序な名前ペアで構成されています.ECMAScriptは、任意のカスタムタイプを作成する機構をサポートしていません.すべての値は最終的に上記の6種類のデータタイプの1つになります.一見、すべてのデータを示すために6つのデータタイプだけが足りないようです.しかし、ECMAScriptデータタイプはダイナミックであるため、他のデータタイプを定義する必要はありません.
3.4.1 typeof操作符
ECMAScriptは分散型であるため、与えられた変数のデータタイプを検出する手段が必要である.typeofはこの情報を提供するオペレータである.一つの値に対してtypeofオペレータを使うと、下記の文字列に戻ります.「undefined」――もしこの値が定義されていない場合.「bollan」――この値がブール値である場合.「string」――この値が文字列であれば.
24第3章基本概念
「number」――この値が数値ならば.「object」――もしこの値が対象かnullであれば.「function」――この値が関数なら.以下は、typeofオペレータを使用したいくつかの例です.
var message=「some string」alert(typeof message)//「string」alert(typeof);/「string」alert(typeof 95)//「number」
Typeoff Example 01.httm
これらの例では、typeofオペレータの操作数は変数であっても良いし、数値字面量であっても良いと説明しています.なお、typeofは関数ではなくオペレータですので、例の括弧は使用可能ですが、必要ではありません.いくつかの場合、typeofオペレータはいくつかの迷うが、技術的には正しい値を返します.例えば、typeof nullを呼び出したら「object」に戻ります.特殊値nullは空のオブジェクト参照とされています.Safari 5および前のバージョン、Chrome 7および前のバージョンは、正規表現に対してtypeofオペレータを呼び出すと「function」に戻りますが、他のブラウザはこの場合には「object」に戻ります.
技術的な観点から言えば、ECMAScriptの関数は対象であり、データの種類ではない.しかし、関数にはいくつかの特殊な属性がありますので、typeofオペレータによって関数と他のオブジェクトを区別する必要があります.
function test1(){
var message;
if(typeof(message)=="undefined")
alert(" ");
else
alert(message);
}
var cc=test1;
cc();