誰でもここで何が起こっているのか正確に説明できますか?アンダースコア - > var _ function
_
が公開されているため、アンダースコアライブラリのハートビートですが、これは公開されている公開されているものとして_
をどのように公開していますか?あなたがコンソールにroot
を入力した場合、我々は
var root = this;
を持って真上
_(obj) {
if (obj instanceof _) return obj;
if (!(this instanceof _)) return new _(obj);
this._wrapped = obj;
}
しかし.....:
var _ = function(obj) {
if (obj instanceof _) return obj;
if (!(this instanceof _)) return new _(obj);
this._wrapped = obj;
};
私はコンソールに_
を入力すると、次が返されますそれはIIFEの範囲内で保護されているのでroot is not defined
を返します。これは、最小特権の原則の素晴らしい例のようです。
_
が公開されていることはほぼ確実ですが、この機能の説明は理解できます。 obj
の例は何ですか?アンダースコアメソッドの1つ?
さらに詳細が必要な場合は、ソースとこのセクションは特にfound hereになる可能性があります。これらの行以下
「obj」の例は、ラップされたものです。 '_([1,2,3])。map(...)'の配列です。 – Bergi
@Bergiああ、それはそれをグローバルスコープで利用できるようにする 'new'キーワードですか? –
いいえ、 'new'キーワードはスコープとは関係ありません。任意のコンストラクタのようにインスタンスを構築するだけです。 – Bergi