Javascript 试图理解wiki Viewer回调函数的代码 变量k在这个函数中的作用是什么 窗口[回调]是数组吗

Javascript 试图理解wiki Viewer回调函数的代码 变量k在这个函数中的作用是什么 窗口[回调]是数组吗,javascript,Javascript,如果我试图打印这一行:window[callbackName]=k;它说未定义。以下是链接: k是传递函数的参数(window[callbackName]=k;此代码至少隐式指示了这一点) window[callback]不是数组,这只是用于 window.callback。其结果是动态选择回调,因为var callbackName可以是不同的 它表示未定义,因为需要在参数k中输入一些内容。如果你把某个东西作为一个参数,它将返回某个东西,而这不是未定义的 window[callback]不是数

如果我试图打印这一行:window[callbackName]=k;它说未定义。以下是链接:

  • k是传递函数的参数(
    window[callbackName]=k;
    此代码至少隐式指示了这一点)
  • window[callback]不是数组,这只是用于
    window.callback
    。其结果是动态选择回调,因为
    var callbackName可以是不同的
  • 它表示未定义,因为需要在参数k中输入一些内容。如果你把某个东西作为一个参数,它将返回某个东西,而这不是未定义的

  • window[callback]不是数组,这只是window的另一种语法。callback
    实际上有点复杂-
    callback
    是一个变量,所以可以动态使用它。例如,如果设置
    callback=“foo”
    ,则
    window[callback]
    将与调用
    window.foo完全相同,如果将其设置为
    “bar”
    ,则与调用
    window.bar类似。因此,它基本上是在改变的——在本例中,它通过在回调名称后面附加一个计数器,向
    窗口添加一组唯一的回调。
    
          var createCallback = function (k) {
          var i = 1;
          var callbackName;
          do {
            callbackName = 'callback' + i;
            i = i + 1;
          } while (window[callbackName])
          window[callbackName] = k;
          return callbackName;
        }