闲扯,面向对象的ext4中的一些事儿1

不定期,想到就说,随意扯扯,貌似有1,2,3,4这样的系列估计会太监
看到有人针对ext4问了个问题,是关于 singleton的 ,ext的设计者估计是考虑到更面向对象的程序设计所以比较喜欢这样弄,导致的结果就是大;
ext4中 定义新的类的方式采用了define,代码如下:
Ext.define('A', {
    singleton: 
true,

    test: 
function() {
        alert(
'hi A');
    }
});
Ext.define(
'B', {
    statics: {
        test: 
function() {
            alert(
'hi B');
        }    
    }
});    
A.test();
B.test();
很显然 这会弹2回alert,可是这2回有区别吗?
那这样加上如下代码试下:
console.log(typeof A);
console.log(typeof B);
发现区别了,一个是object 而另个是function
然后那个相片上看上去貌似中国人的开发者抛出这手:
var classOfA = Ext.getClass(A);
console.log(typeof classOfA);
对了 这东西是function了
那classOfA是啥咋回事?
其实是classOfA.prototype = A;
所以啊 classOfA.prototype.test(); 
这样才会alert。。。
posted @ 2011-04-01 09:53  neverlost  Views(1709)  Comments(0Edit  收藏  举报