0
'this'キーワードを使用せずにJavaScriptクラスを作成することはできますか?式はJavaScriptクラス、this、that、self、など
var self = this;
...
self.property = value;
などの表現も禁止されています。私は文脈を考えてヴァルスだけを使いたいとは思っていません。
は、この単純なクラスを見てみましょう:function Timer() {
var interval = 0;
var count = ++Timer.totalCount;
function setInterval(val) {
interval = val;
}
function run() {
setTimeout(done, interval);
}
function done() {
var div = document.createElement('div');
div.innerHTML = 'Timer #' + count + ' finished in ' + interval + ' ms';
document.body.appendChild(div);
}
return {
setInterval: setInterval,
run: run
}
}
Timer.totalCount = 0;
var t1 = new Timer();
var t2 = new Timer();
var t3 = new Timer();
//how to directly set interval value without set function?
t1.setInterval(3000);
t2.setInterval(2000);
t3.setInterval(1000);
t1.run();
t2.run();
t3.run();
このクラスは、 'この' まったく使用しません。
正しいですか?
本当のクラスを作成できますか?潜在的な問題はありますか?
get/set関数なしでこのクラスのプロパティを作成するにはどうすればよいですか?
継承を使用してそのクラスを拡張することはできますか?
私が持っている大きな問題がある...なぜ:ここではあなたのサンプルは、継承部を含む、ES2015に書き換えていますか? –
あなたのコードには何が間違っていますか? – ands