这是我的分类格式的3层示例
function __(_){return _.constructor}
//class
var _ = ( CLASS = function(){
this.variable = 0;
this.sub = new CLASS.SUBCLASS();
}).prototype;
_.func = function(){
alert('lvl'+this.variable);
this.sub.func();
}
_.divePeak = function(){
alert('lvl'+this.variable);
this.sub.variable += 5;
}
//sub class
_ = ( __(_).SUBCLASS = function(){
this.variable = 1;
this.sub = new CLASS.SUBCLASS.DEEPCLASS();
}).prototype;
_.func = function(){
alert('lvl'+this.variable);
this.sub.func();
}
//deep class
_ = ( __(_).DEEPCLASS = function(){
this.variable = 2;
}).prototype;
_.func = function(){
alert('lvl'+this.variable);
}
在吹一个垫圈之前,让我解释一下自己。下划线背后的目的是加快为类指定函数所需的时间,并指定类的子类。对我来说,它更容易阅读。我知道,如果你打算在你的课程中使用它,这确实会干扰underscore.js。我确信_.js可以很容易地切换到另一个$ ymbol虽然......哦等等,但我离题了。
为什么课堂上有班级? 因为 太阳系() 和 social.system() 意思是两个完全不同的东西,但使用相同的名称很方便。 为什么用户强调要管理类的定义? 因为“Solar.System.prototype”花了我大约2秒输出和2个错别字来纠正。 它还保留了同一列文本中所有类的所有函数名称,这很容易读取。
我正在做的就是介绍这种方法背后的原因以及为什么我想出这个方法。我有3天的时间学习OO JS,我非常愿意接受我可能搞砸了。