getName方法和$ className有什么不同?

时间:2014-05-22 12:51:00

标签: extjs

getName方法和$ className有什么不同?

我的例子:

Ext.define('F.A.C', {name:'sasha',born:'1987'}); 

F.A.C.$className
"F.A.C"

F.A.C.getName();
"F.A.C"

2 个答案:

答案 0 :(得分:2)

唯一的区别是$ className是一个你不应该直接访问的私有财产。 getName是您应该使用的公共getter方法。

答案 1 :(得分:0)

实际上$className被记录为(私有)实例属性(虽然它看起来似乎是静态的),而getName是(公共)静态函数,即无法从类的实例调用它。

var instance = new F.A.C();

console.log(instance.$class);
// >> "F.A.C"

console.log(instance.getClass());
// >> TypeError: undefined is not a function