日期:2014-05-16  浏览次数:20367 次

为什么prototype 第二层无法获得 基类属性
JScript code

function myfun()
{
    this.num = 123;
}
myfun.prototype =
{
    main:function()
    {
        alert(this.num);
    },
    A:
    {
        main:function()
        {
            alert(this.num);
        }
    }
}
new myfun().main();
new myfun().A.main();
第一层可以获得
第二层就不行了



------解决方案--------------------
A:
{
main:function()
{
alert(this.num);
}
}
}
--
A是一个对象,main是这个对象的方法。里面的this指的是A
------解决方案--------------------
A是一个对象,对象中的this当然指的是这个对象本身。
------解决方案--------------------
JScript code

 A:
    {
        main:function()
        {
            alert(this.num);
        }
    }

------解决方案--------------------
最后一个调用main的是新建对象的属性A(也是对象),

而A并无继承myfun原型,哪来的num