Javascript 这是什么;[……”是;你在这儿干什么?

Javascript 这是什么;[……”是;你在这儿干什么?,javascript,jquery,Javascript,Jquery,下面是我的课本摘录 我有一个关于在窗口中使用[]的问题。历史记录[type]()。我可以看出,它将对象名(窗口)和变量(类型)分开,这样它们就可以被识别为单独的东西,但是使用[]有名称吗?我在谷歌上搜索了一下,但什么也没找到 $(function() { //omitted ['back', 'forward'].forEach(function(type) { $('.' + type).click(function() { window.history[type]();

下面是我的课本摘录

我有一个关于在
窗口中使用[]的问题。历史记录[type]()
。我可以看出,它将对象名(窗口)和变量(类型)分开,这样它们就可以被识别为单独的东西,但是使用[]有名称吗?我在谷歌上搜索了一下,但什么也没找到

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

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

myObj.prop
myObj['prop']
window.history['forward']()
或括号符号:

myObj.prop
myObj['prop']
window.history['forward']()
但是,动态构造属性时,您别无选择,只能使用括号表示法:

myObj.prop
myObj['prop']
window.history['forward']()

window.history.forward()

在这里,您正在迭代
向前
向后
属性,括号表示法用于从
窗口的字符串名称调用函数。历史


以下是

[]
当您尝试使用变量访问属性时使用的符号。这与执行window.history.back()或window.history.forward()操作相同,但是,由于类型是动态的,因此必须使用括号符号访问back或forward属性
类型
位于[]因为在本例中,您试图读取变量
type
保存的object window.history属性。如果删除
[]
并改用
,它将实际尝试读取对象
窗口内的属性
类型
。位置
,但您希望读取变量所包含的字符串。在本例中,
back
forward
。示例代码中可能没有可以使用方括号表示法访问的var的副本,因此,它是一个带有forEach循环的数组。我想问题是关于在
窗口上进行的访问。history
,其中包含
forward
back
函数()由
window.history[type]()
调用,是否有我没有很好地解释的内容?没有,他们错过了。别担心,您的答案很好。>这里您正在迭代
向前
向后
属性,括号符号用于从
窗口的字符串名称调用函数。历史
。在阅读了您的答案后,我终于理解了此代码的作用。非常感谢!