function name()
{
this.age = "15";
};
function Toms()
{
this.mono = new name();
};
var Tom = new Toms();
alert(Toms.name);
不知道你在玩什么奇淫技巧:)
excuse me ???????
浏览器版本不一样,我弹出的是Toms,因为Toms是一个声明函数,所有他有个默认的name属性就是他的函数名Toms,你现在alert Toms的name,弹出的是他的函数名Toms
alert(Tom.mono)
你是把new Name 出来的对象赋给了其属性。而其本身本来就没有name这个东东嘛。console.log(Tom.moon.age)
Tom
对象包含一个mono
属性,mono
属性指向一个包含age
属性的对象,并没有name
属性,为什么不是undefined
因为你没有定义这个属性,所以undefined。
this.mono = new name(); //只给Toms定义了一个mono属性,指向name对象而已。
console.log(Tom.mono); //name {age: "15"}
console.log(Tom.mono.age); //15
还有,问题里的代码alert(Toms.name); 是会打印出东西的,打印出你定义的Toms的name属性,也就是函数名。