2012-02-15 3 views
0
<html> 
<head> 
<title>js_trial</title> 

<script language="javascript"> 
now = new Date(); 

document.write("today is: "+now+"<br/>"); 


function print (number){ 
if(number >= 4); 

return document.write("the number "+number); 
} 

var num = 4; 
var doub = print(num); 

document.write(doub); 
</script> 
</head> 
<body> 





</html> 

出力実行すると: を今日はある:そこは後に定義されていない理由を水2012年2月15日23時31分19秒GMT + 0800(台北標準時) は数が未定義あり、なぜ私はこの

を4undefined 4?

+1

を使用し、私は推測している 'window.print()'を返しますが、 '' ' –

+1

言語= "JavaScriptを" void'のでためですか? HTML 3.2を教えるチュートリアルを使用しているようです。 [もっと最新のものを見つける]ことができます(http://www.w3.org/wiki/Web_Standards_Curriculum#JavaScript_core_skills)。 – Quentin

答えて

2

戻り値document.writeは、常にundefinedです。

document.writeprintの戻り値はreturn document.write(...)です。

2

あなたの文が動作していない場合:

now = new Date(); 

document.write("today is: "+now+"<br/>"); 

function print (number){ 
    if(number >= 4) { 
     document.write("the number "+number); 
    } 
} 

var num = 4; 
print(num); 
をそして document.writeからの応答がありません。そのため '未定義'です。

+0

私は確信していますが、if(number> = 4) document.write( "number" + number); '' {} 'を除いてもうまくいきます。 ';'はそれを破っています。 – Christoph

+0

もちろん、明快にするために{}を好きです。 – RvdK

1

document.write(doub);に電話すると何をしているのですか?doucment.write(document.write("the number "+number));です。

undefinedは、内部の呼び出しの戻り値であり、外部のdocument.write呼び出しが値を持たないことを示しています。

+0

この解決策は私を助けました。私の構文を再確認しなければなりませんでした。タイ –

0

関数document.writeは常にundefinedを返します。 あなたがしていることは、文書番号を書き込み、変数doubに書込み関数の戻り値を格納します。その後、doubと書いてください。 「未定義」が追加されました。

あなたはあなたのコードの代わりに書きたいと思うだろうか

は、次のとおりです。

function print (number){ 
    if(number >= 4){ 
     return ("the number "+number); 
    } 
} 

var num = 4; 
var doub = print(num); 
document.write(doub); 

あなたの関数のプリントが今doubに保存され、最終的にドキュメントに書かれている「ナンバー4」の文字列を返します。

OR

function print (number){ 
    if(number >= 4){ 
     document.write("the number "+number); 
    } 
} 

var num = 4; 
print(num); 

あなたが直接文書に "4番" の書き込み機能のプリントを、呼び出します。

EDIT:

<script language="...">が古くなって、代わりに<script type="text/javascript">を使用!条件が動作しない場合

あなた、

if (condition) { 
    //your code here 
    } 
関連する問題