2

我正在尝试了解 MathJax 的 api,以了解我正在编写的 hack。第一行代码是一个具有window数组的匿名函数。这个“window数组”是什么?这是代码:

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

请帮助我理解这一点。

4

1 回答 1

1

那不是数组;这只是window对象。

在 JavaScript 中,有两种方法可以访问对象的属性:object.propertyobject['property'].

第一种语法仅在属性名称是有效的 JavaScript 标识符时才有效;第二个适用于任何属性名称。

这是一个与您的代码有些匹配的设计演示(在 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 回答