Я хочу, чтобы эмулировать классы в JavaScript, и придумал эту схему ...Javasctipt класс модель с именем класса повторяющейся
var Random = function(a){ // class name used here
var Random = function(a){ // and used again here
this.valueOf = function(){
return Math.random()
}
this.under = function(limit){
return this*limit
}
this.floor = function(limit){
return Math.floor(this*limit)
}
}
return new Random(a)
}
var rnd = Random()
console.log(rnd*20<<0)
Именования кажется вполне обычной для меня, с именами классов в TitelCase и экземплярах в camelCase. Я переношу класс дважды, так что я могу вернуть экземпляр, поскольку мне не нравится использовать new Thing
в моем основном коде.
То, что кажется мне самым необычным, - это использование одного и того же имени класса для обеих оболочек. Есть ли какая-либо техническая проблема с этим шаблоном?
Есть ли более простой способ добиться того же?
Существует множество библиотек классов JS, некоторые из которых поддерживают деривацию классов и доступ к базовому классу. Весь хороший полиморфизм. Не изобретайте велосипед здесь. Только мои два цента. –
Мне не нужна библиотека, я хочу создать образец, который я помню, и использовать везде. –
Я бы предложил прочитать: http://ejohn.org/blog/simple-class-instantiation/ как шаблон многократного использования. –