2012-04-09 11 views
1

私はjavinesのnoobが掃海艇を作っています。 HTML要素ID文字列を関数に渡しています。文字列の形式はハイフン列です。したがって、左上のセルは1-1になります。私の関数は、これらの文字列を式であるかのように評価しています。だから...JavaScriptが関数のパラメータを評価するのを防ぐにはどうすればいいですか?

function notMine(id){ 
alert(id) //If the incoming id=4-4, this pops up 0. I want it to pop up 4-4 

どうすればこの問題を解決できますか?

+3

「id」の出所を示す必要があります。あなたの関数は何も間違っていません。 – ThiefMaster

+1

「修正」できません。関数のパラメータは式であり、関数が呼び出される前に評価されます。それが言語の定義方法です。 – Pointy

+2

文字列 '' 4-4 ''を渡しているなら、これは不可能です。 –

答えて

8

式は、文字列ではないため、関数が呼び出される前に評価されます。その文字列を作るためにアポストロフィや引用符を使用します。

notMine("4-4"); 

または

notMine('4-4'); 
+1

技術的には、関数が呼び出される前に式がまだ評価されています:-) – Pointy

+0

@Pointy Pedantry警察に通知されている途中です! ;) –

+0

これらの質問は私の中で最悪を引き出すと認めます。 – Pointy

4

にあなたがでパラメータを渡すときは、引用符を使用します。

乾杯を。

<script type="text/javascript"> 
    feedMe(4 + 4); 
    feedMe("4 + 4"); 

    function feedMe(id) 
    { 
     alert(id); 
    } 
</script> 
関連する問題