しばらく JS でコーディングした後、独自のフレームワークを作成することにしました。jQueryに似たもの。しかし、非常に簡素化されたバージョンです。いくつかのグーグルの後、私はこのコードをまとめました:
function $elect(id) {
if (window === this) {
return new $elect(id);
}
this.elm = document.getElementById(id);
}
$elect.prototype = {
hide: function () { this.elm.style.display = 'none'; },
show: function () { this.elm.style.display = ''; },
toggle: function ()
{
if (this.elm.style.display !== 'none') {
this.elm.style.display = 'none';
} else {
this.elm.style.display = '';
}
}
};
これまでのところ、これは機能しているようです。しかし、私は機能に興味がありません。論理を理解したい。メソッドの部分を追加することは理解できます。の機能を理解していませんでしたが、
if (window === this) {
return new $elect(id);
}
外すと機能が壊れます。これは if ステートメントなので、2 つの結果があります。True
またはfalse
。そのため、 if ステートメントを削除して、 return を想定して使用しようとしましたが、うまくいきませreturn new $elect(id);
んでした。すると が返ってくるのではないかと思ったので、if文を丸ごと削除しました。それもうまくいきませんでした。誰かが私を啓発できますか?また、このコードは有効ですか? 私はおそらくいくつかのものが欠けています。window === this
true
false
jsfiddle でテストしたところ、動作しません。jsbin oOで動作しますが
編集:$elect(id).toggle();
それを呼び出すために使用します。デモを確認することはできますが。