2016-04-28 14 views
0

javascriptでオブジェクトの名前を出力することはできますか? 以下のスクリプトでは、windowオブジェクトを関数に渡して属性を出力します。オブジェクト名の取得方法は?

[object Window].close: function close() { [native code] } 
[object Window].stop: function stop() { [native code] } 
[object Window].focus:function focus() { [native code] } 

しかし、私はこのような何か予想:私は私の上記のコードを実行すると

var Output = ""; 

function OutputAttributes(pObject) 
{ 
    var x = ""; 

    for (var Attribute in pObject) 
    { 
     x = x + "<li>"+pObject+"." + Attribute + ": " + pObject[Attribute] + "</li>"; 
    } 
    return x; 
} 

Output = OutputAttributes(window); 

document.write("<h2>Attributes from Objekt <i> <\/i><\/h2>"); 
document.write("<ol>"+Output+"</ol>"); 

、その後、私はこのような出力を受け取る

window.focus:function focus() { [native code] } 
+0

ない、ありません。 –

+0

唯一の方法は 'RegEx'のようなものを使うことでしょうか? – Black

+2

'window'は単なる変数名です。もしあなたが 'a = b = {}'をしたらどうでしょうか?そこにあるオブジェクトの名前は何ですか? –

答えて

5

それは、引数ので、JavaScriptで可能ではないのですがこの言語では、名前ではなく、値または参照によって渡されます。したがって、変数が関数に渡されると、その名前は失われます。

一般的な方法で
0

<script> 
 
var str ="[object Window].focus:function focus() { [native code] }"; 
 
str = str.replace("[object",""); 
 
strlast=str.replace("Window]","Window"); 
 

 
alert(strlast); 
 
</script>

+2

他の変数名と参照を試してみましょう... –

関連する問題