这个“ []”在做什么?

时间:2019-02-01 13:01:26

标签: javascript jquery

以下是我教科书的摘录。

我对window.history[type]()中[]的使用有疑问。我可以说它是将对象名称(窗口)和变量(类型)分开,以便可以将它们识别为单独的东西,但是[]的使用是否有名称?我执行了Google搜索,但没有任何反应。

$(function() {
//omitted
['back', 'forward'].forEach(function(type) {
  $('.' + type).click(function() {
    window.history[type]();
    });
  });
});

1 个答案:

答案 0 :(得分:5)

这是使用方括号表示法的属性/方法访问。 在Javascript中,您可以使用点符号来访问对象的属性:

myObj.prop

或方括号符号:

myObj['prop']

但是,当动态构造属性时,只能使用方括号表示法:

window.history['forward']()

相同
window.history.forward()

这里要对forwardback属性进行迭代,并且使用括号符号从window.history的字符串名称中调用函数。

这里是the doc linked by @Teemu