function()不是javascript中的函数

PB *_*ics 1 html javascript

运行代码段并单击Click here!,会出现错误消息:

{"message":"Uncaught TypeError:ll_ctq不是函数",
"filename":" https://stacksnippets.net/js ","lineno":15,"colno":93}

但是ll_ctq()我的代码中有一个函数.

var web = 'http://localhost/prjct/';
var ll_50_50 = 'll_50_50=';
var ll_ctq = 'll_ctq=';
var ll_dd = 'll_dd=';
var and = '&';
var play = 'play.php?';

function ll_ctq() {

  var check_ll_ctq = document.getElementById("ll_ctq"),
    classes = ['red_cross'];

  if (check_ll_ctq.classList.contains("red_cross")) {
    //	 alert("Yes");
  } else {
    // alert("No");
    document.getElementById("ll_ctq").classList.add("red_cross");

    document.getElementById("A1").setAttribute('class', 'timeout');
    document.getElementById("B1").setAttribute('class', 'timeout');
    document.getElementById("C1").setAttribute('class', 'timeout');
    document.getElementById("D1").setAttribute('class', 'timeout');
    var check_ll_ctq = document.getElementById("ll_ctq"),
      classes = ['red_cross'];
    var check_ll_50_50 = document.getElementById("ll_50_50"),
      classes = ['red_cross'];
    var check_ll_dd = document.getElementById("ll_dd"),
      classes = ['red_cross'];


    if (check_ll_ctq.classList.contains("red_cross")) {
      var ll_ctq_status = "yes";
    } else {
      var ll_ctq_status = "no"
    }
    if (check_ll_50_50.classList.contains("red_cross")) {
      var ll_50_50_status = "yes";
    } else {
      var ll_50_50_status = "no";
    }
    if (check_ll_dd.classList.contains("red_cross")) {
      var ll_dd_status = "yes";
    } else {
      var ll_dd_status = "no";
    }
    var location = web + play + ll_50_50 + ll_50_50_status + and + ll_ctq + ll_ctq_status + and + ll_dd + ll_dd_status;
    setTimeout(function() {
      window.location = location;
    }, 3000);
  }
}
Run Code Online (Sandbox Code Playgroud)
<div id="play_head">
  <div>
  </div>
  <div>
    <button id="ll_ctq" class="button_cstm_ll" style="margin-right:45px" onclick="ll_ctq()">Click here!</button>
  </div>
  <div>
  </div>
</div>
<table id="test" class="table table-responsive table_cstm">
  <tbody>
    <tr>

      <td colspan="2">
        <div class="question1" style="justify-content: center; width: 100%;">1) Who was First Prime Minister of India?(15304)</div>
      </td>
    </tr>
    <tr>

      <td>
        <div id="A1">A) M K Gandhi
        </div>
      </td>
      <td>
        <div id="B1">B) Jawaharlal Nehru
        </div>
      </td>
    </tr>
    <tr>

      <td>
        <div id="C1">C) Rajendra Prasad
        </div>
      </td>
      <td>
        <div id="D1">D) Chandra Shekhar Azad
        </div>
      </td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

运行代码段并单击Click here!,会出现错误消息:

{"message":"Uncaught TypeError:ll_ctq不是函数",
"filename":" https://stacksnippets.net/js ","lineno":15,"colno":93}

但是ll_ctq()我的代码中有一个函数.

Que*_*tin 5

你定义了ll_ctq两次.

首先是函数声明,它被提升(这就是为什么它是第一个,即使它出现在代码的后面).

第二个用var ll_ctq = 'll_ctq=';字符串覆盖它.

所以当你来调用它时,它是一个字符串,而不是一个函数.