4

次の JavaScript 関数を作成しました。

<script type="text/javascript">
function showVariable(val){         
    if(typeof(val)!=null && typeof(val)!=false &&typeof(val)!=NaN && typeof(val)!=undefined)
        return typeof(val);
    else 
        return val;
}
function print(){
    var val = {1, 2, 3};
    var res = showVariable(val);
    alert(res);
}
</script>

showVariable現在、アラートを使用して結果を確認できますが、の結果を html ドキュメントに出力する別の方法があるかどうかを知りたいです。

4

6 に答える 6

3

他の人は、既存の HTML 要素にテキストを追加する方法を指摘しています。いくつかの他のオプションを以下に説明します。

エラーログ

alert()デバッグの場合、邪魔にならない代替手段は、テキストをエラー ログに追加することです。たとえば、Firefox で Firebug 拡張機能を使用すると、次のようになります。

if (console.log) console.log(res);

Document.write

おそらくこの特定の質問には当てはまらないが、役立つ場合がある別のオプションは、を使用することdocument.writeです。ただし、ページが読み込まれた後に使用しないように注意してください。ページが上書きされます。

たとえば、次のようになります。

<p>one</p>
<script type="text/javascript">document.write('<p>two</p>');</script>
<p>three</p>
<script type="text/javascript">document.write('<p>four</p>');</script>

静的 HTML ソース コードが次のようにブラウザに表示されます。

<p>one</p>
<p>two</p>
<p>three</p>
<p>four</p>

タイプ

ちなみに、typeof 演算子は次の文字列値のいずれかを返します。

    'undefined'
    'null'          // For browsers that support ECMAScript 6+
    'boolean'
    'number'
    'string'
    'function'
    'object'

最初の if ステートメントは、次のようにリファクタリングできます。

Instead of this               Use this                     Or this
-------------------           -----------------            ------------
typeof(val) != null           val !== null
typeof(val) != false          val !== false
typeof(val) != NaN            typeof val == 'number'       !isNaN(val)
typeof(val) != undefined      typeof val != 'undefined'

ただし、これらすべてのテストが必要かどうかはわかりません。それはあなたがしようとしていることに依存します。

于 2013-03-23T18:21:46.823 に答える
3

単に使用する

function print(){
    var val = {1, 2, 3};
    var res = showVariable(val);
    document.getElementById("myDiv").innerHTML = res;

   //if the target is an input :
   document.getElementById("myDiv").val = res;
}
于 2013-03-23T18:18:02.223 に答える
1

要素に出力できます:

HTML:

<div id="log"></div>

JavaScript:

function print(value) {
    document.getElementById('log').innerHTML += value;
}
于 2013-03-23T18:17:31.693 に答える
0

あなたが試すことができますdocument.write();

function print(){
        var val = {1, 2, 3};
        var res = showVariable(val);
        document.write(res);
    }
于 2013-03-23T18:33:42.670 に答える
0

要素の場合、.innerHTML プロパティに設定できます。そのようです:

<div id="output"></div>

document.getElementById('output').innerHTML = val;
于 2013-03-23T18:16:32.760 に答える