【问题标题】:function outputting function text rather than expected output函数输出函数文本而不是预期的输出
【发布时间】:2021-03-20 01:09:44
【问题描述】:

我已经用几种不同的方式问过类似的问题,但这是最简单的版本 - 我试图在函数发生时通过键名值列表递增。但是,当调用函数时,我得到的只是函数本身的文本。这是一个sn-p -

var knlist = {
    kn10:"2L1qvq6Tg6rMhEwNshr6dQ",
    kn11:"2N_Cl_Gl5fX8_TdLgHP3rQ",
    kn12:"2RbpjbhM3_EfzejfPgzwAw",
    kn13:"2rP8y_ub_alGrzAK_aZrEg",
    kn14:"2S8O9KBwxRlvtZX6kjyS0y",
    kn15:"2Ua5EnPVDwd7LGq6UbT2bQ",
    kn16:"3_17fNbyu2Yw8ozPx8BmkA",
    kn17:"3LB0GSXXVadBlCMhSth3IA",
    kn18:"48JvNwKSgvnWT8nqzWtE3Q",
    kn19:"4CP5JE_mlMMzjvDMMgXncg",
}

var count = 11

var knx = function knxer(){
    if (count === 11) {
    knx = "kn11";
    } else {
    knx = ("kn" + count);
    }};

var keyname = (knlist[knx]);

console.log (count)
console.log (knx)
console.log (keyname)

Console.log KNX 只给我函数 knxer() 本身的文本,而不是函数在计数增加时应返回的预期值。

一旦解决了这个问题,我将使用另一个函数来增加不同位置的计数 - 这里是 a full JSFiddle of where that is at. 完成后 I'm going to add an input for the login page 这样用户名的值就可以在有人第一次尝试时被估算调查,并一遍又一遍地发布每个完成情况。

【问题讨论】:

    标签: javascript surveyjs


    【解决方案1】:

    你必须调用函数,

    您只是在 console.log() 中提及函数名称,

    这将调用函数并返回值console.log(knx())

    这不会调用函数,而是返回函数体console.log(knx)

    【讨论】:

      【解决方案2】:

      问题是您将knix 分配给您的函数

      var knlist = {
          kn10:"2L1qvq6Tg6rMhEwNshr6dQ",
          kn11:"2N_Cl_Gl5fX8_TdLgHP3rQ",
          kn12:"2RbpjbhM3_EfzejfPgzwAw",
          kn13:"2rP8y_ub_alGrzAK_aZrEg",
          kn14:"2S8O9KBwxRlvtZX6kjyS0y",
          kn15:"2Ua5EnPVDwd7LGq6UbT2bQ",
          kn16:"3_17fNbyu2Yw8ozPx8BmkA",
          kn17:"3LB0GSXXVadBlCMhSth3IA",
          kn18:"48JvNwKSgvnWT8nqzWtE3Q",
          kn19:"4CP5JE_mlMMzjvDMMgXncg",
      }
      
      var count = 11
      var knx;
      
      function knxer(){
          if (count === 11) {
            knx = "kn11";
          } else {
            knx = ("kn" + count++); // update the count each time it calls
          }};
      
      knxer(); // call it 
      var keyname = (knlist[knx]);
      
      console.log (count)
      console.log (knx)
      console.log (keyname)

      【讨论】:

      • 非常感谢!关于让计数器增加作为底部函数重复的任何建议,这样 kner 会随着计数的增加而改变其输出?我是 javascript 新手,我认为 tis 与异步有关。
      • 再次检查答案我通过每次调用函数时递增计数器来更新它
      猜你喜欢
      • 1970-01-01
      • 2014-09-22
      • 2021-10-04
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 2022-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多