js获得类里面定义的变量 #迷惑解决方法

js获得类里面定义的变量 #迷惑
function dialog()
{
this.str="hello";
}
 
var d=new dialog();
alert(d.str);
d.str="hello2";
alert(d.str+" "+this.str+" "+dialog.str);// 结果 hello2 undefined undefined 

以上str重新赋值以后 除了d.str以外还有什么方式获得str的值吗?

------解决方案--------------------
可以添加到prototype
------解决方案--------------------
不明白你想做什么
你不是获取到str属性的内容了么?就是这种方式就可以了
非要另外的方式的话
for(var pro in d)
{
alert(pro);
}
获取一个变量的值而已,还要用几种方式,有意义么?
------解决方案--------------------
探讨
function dialog()
{
this.str="hello";
}

var d=new dialog();
alert(d.str);
d.str="hello2";
alert(d.str+" "+this.str+" "+dialog.str);// 结果 hello2 undefined undefined

以上str重新赋值以后 除了d.str以外还……

------解决方案--------------------
alert(d.str+" "+this.str+" "+dialog.str);

d.str 是实例的str
this.str 是window.str window中没有定义str,所以是undefined
dialog.str 是类dialog的str,还没有实例化,自然取不到,所以还是undefined