2

私が書いているハックのMathJaxのAPIを理解しようとしています。windowコードの最初の行は、配列を持つ無名関数です。この「window配列」とは何ですか?コードは次のとおりです。

(function (d) {
            var b = window[d];
//...
})('MathJax')

これを理解するのを手伝ってください。

4

1 に答える 1

1

これは配列ではありません。それは単なるwindowオブジェクトです。

JavaScript でオブジェクトのプロパティにアクセスするには、 と の 2 つの方法がありobject.propertyますobject['property']

最初の構文は、プロパティの名前が有効な JavaScript 識別子である場合にのみ機能します。2 番目は、任意のプロパティ名に対して機能します。

これは、コードに多少一致するデモンストレーションです(JSFiddle で試してください):

function lookThroughWindow(nameOfProperty) {
    alert(window[nameOfProperty]);
}

var propertyName = 'location';
lookThroughWindow(propertyName);

// The above just does this:
alert(window.location);
于 2012-01-14T21:02:40.363 に答える