如何获取对象名称?

时间:2016-04-28 13:10:07

标签: javascript

是否可以在javascript中输出对象的名称? 在下面的脚本中,我将window对象传递给函数并输出属性。

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>");

如果我执行上面的代码,那么我收到如下输出:

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

但我期待这样的事情:

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

2 个答案:

答案 0 :(得分:5)

在JavaScript中不可能,因为这种语言中的参数是通过值或引用传递的,而不是通过名称传递的,因此当变量传递给函数时,其名称将丢失。

答案 1 :(得分:0)

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

alert(strlast);
</script>
&#13;
&#13;
&#13;