是否可以在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] }
答案 0 :(得分:5)
在JavaScript中不可能,因为这种语言中的参数是通过值或引用传递的,而不是通过名称传递的,因此当变量传递给函数时,其名称将丢失。
答案 1 :(得分:0)
<script>
var str ="[object Window].focus:function focus() { [native code] }";
str = str.replace("[object","");
strlast=str.replace("Window]","Window");
alert(strlast);
</script>
&#13;