JS深遠な分析:閉鎖

強く振る

72の変更がモンキーキングの有名なスタントの1つであることは誰もが知っていますが、これらの72の変更が何であるかを誰も列挙できず、記録もありません。モンキーキングは、必要な場合、つまり自然な幻想でのみ使用されます。一方、朱バジエの変更は36回のみで、漂流僧の変更は18回のみです。

実際、これらの変更の基本的な実装は同じであると推測できますが、それらはひたむきに使用されています。これはJavaScriptとPHPに似ています。どちらも下部のCで実装されていますが、2つは大きく異なります。PHPはファイルの読み取りと書き込みが可能で、同時にマルチスレッド化でき、多態性を継承できます。一方、JavaScriptはブラウザに限定されて自身を保護します。シングルスレッド。

JavaScriptとPHPはどちらもCで実装されており、同じ機能、または少なくとも同じ可能性を備えている必要があるという推論があるはずです。

そして事実はまさにこのようなものです。JavaScriptがブラウザから解放されると、phpが持つすべての機能も備えています。誰が優れているかについては話さないでください。少なくとも同じ高さに立っています。

ドラゴンと9人の息子についての神話や伝説も人によって異なりますが、同じ出発点から無限の可能性を秘めています。適切に使用されている限り(ハードな研究と経験)、すべて同じ高さに立つことができます。彼らのスキルは異なりますが、彼らの性格はかなり異なります。いわゆる1つの分野、3人の学者として、それはおそらく同じ理由です。

最下位レベルでは、コンピューターは0と1にすぎませんが、コンピューター上に構築されたプログラムは大きく異なり、その機能はさらに多様です。すべてが最大限の能力を発揮できるわけではありませんが、その可能性は同じです。誰かが変更する意思がある場合、壊れた小さなプログラムでさえ、Unixと同じ高さに立つことができます。もちろん、すでにUnixはあります。プログラムにとって、別のUnixは役に立ちませんが、プログラムを作成する人にとって、それは大きな意味を持っています。Unixのコアも、他の人よりも遅く書くことができれば、数十年後、その言葉遣いを借りて学んだが、それでもUnixと同じ高さに立つことはできないかもしれないが、あなたはすでに自分自身を超えるのに十分である。常に自分自身を超えた後、あなたは仲間を超えるかもしれない。目立つ。そして何人かの人々はそれをしました、しかしこの人は彼がlinuxを書いたunixと名付けました。この文は控えめな表現のようですが、実際、私たちは皆、あなたが楽に見えるために非常に一生懸命働かなければならないことを知っています。

したがって、Wukong、Bajie、およびDrifting Techniquesは同じ基本構造を持っている可能性がありますが、Wukongは常に自分を上回り、最終的に目立ち、MonkeyKingになります。Ba Jieも常に自分自身を上回っていますが、彼はより少ない世代を超え、さらに少数の漂流僧を超えていますが、これは彼を異世界的で人間的なものと区別するのに十分です。Lu Xunに関しては、それは低レベルの味から外れています。同じことが素晴らしいです。

しかし、世界のフリーダムマウンテンはこの山よりも高いです。空の外に空があり、世界の外に人がいます。一部の人が108と256の変更を変更することは除外されていません。基本的な構造は同じであるため、Wukongがそれを洗練する限り、5 112の変更は問題ありません。これはばかげた夢ではありません。512になることを学ぶと、振り返ってみると、72の変更はそれほど簡単ではないことがわかります。これは、72を変更したときに18の変更だけを見るのと同じです。漂流しているのは簡単だと思う人もいれば、72回の変更はまったくできないと思っている人もいます。実際、Driftingが72の変更の可能性もあると信じて練習を続けている限り、いつの日か彼は72の変更を自然に理解するでしょう。6耳のマカクはモンキーキングと同じ高さに達していますが、一瞬の勝利を競うことができないのは残念です。また、ヤン・グオのように、骨折した腕を徹底的に修復した後も、武道は依然として武術ですが、世界にライバルはほとんどいません。

基盤となるアーキテクチャについて説明しましょう。固有のプロパティにはすべての変更が必要ですが、各人が追加する属性は異なります。これは箱のようなものです。白にする人もいれば、白にする人もいます。ラベンダー色で、蛍光緑色に輝いている人もいます。これは1フレームか3フレームか、1変更か3変更か、72変更あり、フレームは1変更ですが、すべてのフレーム彼らはすべて同じではありません。低水準の人々の目には、これは絶えず変化していますが、Qitian Great Sageは決して低水準の人ではなかったので、彼の目には72の変化しかありません。過去は何千年も経ちました。おそらく今日のウーコンは720の変化を学びましたが、彼はもはや世界にいません。彼はまだ競争力がありますが、クラブを振るたびに強くなります。

関数を返す関数

これは私が今まで見た中で最も簡潔でエレガントな閉鎖の定義であり、実際にその形や外観はこのようなものです。もちろん、それでも、この定義を確立するには2つの前提が必要です。

  1. スコープ(スコープ)を理解する必要があります。JavaScriptのスコープは、関数によって分離または区切られていると簡単に言うことができるため、関数指向と呼びます。

  2. ガベージコレクションメカニズム(ガベージコレクション)の参照数を理解する必要があります。

  3. 関数によって定義された関数指向のスコープは、子と子の下のスコープが親と親の上のスコープにアクセスできることを決定し、その逆も同様です。ガベージコレクションメカニズムの参照カウントは、変数が参照されていない場合に参照されることを決定します。ガベージコレクション。

そういえば、問題は実は非常に明白で、変数が関係している可能性があると推測できます(言うまでもなく、複数ある可能性があります。結局のところ、誰もが類推です)。この変数はリサイクルされませんが、リサイクルされません。すべてのグローバル変数が再利用されるわけではないため、彼の独自性を強調するだけでは不十分です。そのため、その名前と組み合わせて、クロージャーという単語を使用して、セマンティクスに従って物事を格納できます。結局のところ、変数をインストールすることも非常に合理的です。これは、物をインストールするために使用されているという推測を裏付けています。このとき、関数を返す関数と組み合わせて、機会について考えるときに理解できます。子の親スコープで変数を定義します。第1レベルのスコープはそれを参照し、再利用されないようにします。前述のように、グローバルスコープの変数は再利用されません。したがって、サブレベルのスコープは関数です(関数指向の場合、スコープは関数として大まかに理解されます)グローバルスコープに戻ります。リターンが与えられた後、グローバルスコープを批判するかもしれませんが、子スコープの場合、その親の親スコープはグローバルスコープとして理解できます。結局のところ、カエルが見るのは源泉だけです。良い日は、別の場所で考えるために自分の場所に身を置く必要があるので、柔軟で、賢くすべきではないときに賢くならないでください(さらに、賢いというのは軽蔑的な用語です)。

ですから、ほとんどの人が欠点を見つけるだけの場合はスマートである必要があります。利点を見つけるにはスマートを使用する必要があります。ほとんどの人が批判する場合は、適切な説明を見つけるためにスマートを使用する必要があります。このものの作成と命名の軌跡に従ってください。トゥカオは、特に真剣に考えずに、輝く場所で非常に安いです。懸命に考えず、懸命に働かない人々を助けるべきではありません。それは時間の無駄だからです。

関数を返す関数の概念を真に理解した後、実際のアプリケーションはあなたにあります。それをクロージャー、ファクトリー、またはその他の目的で使用するかどうかは、完全にあなた次第です。現時点ではクロージャーをマスターし、ファクトリーをマスターし、関数は単なる変数であることを理解したと言えます。100のトリックを言うことも、1つのトリックしかないことを言うこともできますが、このトリックにとらわれることはもうありません。このトリック。

もちろん、これを読んだ後、あなたはすでにあなたの心の中で別の概念をフラッシュしているはずです。そうでなければ、あなたはもっと学ぶべきです。スコープに対応するランタイムコンテキストはオブジェクト指向です。ここで参照されるオブジェクトは、{}として理解できる狭いオブジェクトです。簡単に言うと、実行時に、これがどのオブジェクトに等しいか、これを使用してこのポイントをポイントし、次に「実行」という単語が追加されたときに、どのプロパティまたはメソッドがどのオブジェクトで実行されるかを示します。

誰もが同じ可能性を持っています

JavaScriptのMathオブジェクトと空のオブジェクト{}は、実際には同じ可能性と同じ力を持っていますが、空のオブジェクトを自分で拡張する必要があります。これは、人々のハードワークに相当します。しかし、なぜ誰もが同じ可能性を持っていると言うのですか?数学も延長できるので、人生は州の機械であり、あなたがどんな状態にあっても、あなたがまだ一生懸命働いている限り、良いことも悪いことも悪いこともありません貧しい、あなたがまだ追求している限り、あなたはどちらが良いかわからないので、人生は比類のないものです。

追記

プログラムは合理的ですが、プログラムを書く人は知覚的であり、深遠な意味は通常では本質的に異常であるため、このシリーズの記事は理論と哲学に偏り、普遍的に接続された考えで構成されます。 JavaScriptに限定されており、プログラミングだけに適用できるわけではないので、このシリーズの記事を読む人は誰でも、優れたJavaScript基盤を持っているか、言語自体を気にしないと想定しています。

おすすめ

転載: blog.51cto.com/15080022/2588832