在另一个中调用带参数的函数

时间:2016-10-08 11:30:47

标签: javascript jquery html dom

我在另一个中调用一个函数。当然,这很简单,使用[name] .onclick = funcion。这有效,但如果我想要参数,我该怎么做?

一个简单的例子:" y"我想通过" abc"但是使用bt.onclick = second并且(abc)不起作用,并且没有参数。

function first(x){

var abc = document.getElementById(x);
var bt = document.createElement("button");
bt.onclick=second;
}

function second(y){

document.getElementById(y);
}

2 个答案:

答案 0 :(得分:2)

  

我想传递“abc”

尝试

bt.onclick= function(){
   second(abc);
};

答案 1 :(得分:2)

  • 使用参数
  • 调用second函数
  • second
  • 返回另一个函数
  • 内部函数会记住创建它的环境,因此y已知inner-function
function first(x) {
  var abc = document.getElementById(x);
  var bt = document.createElement("button");
  bt.onclick = second(WHATEVER_YOU_WANT_TO_PASS);
  //------------------^^^^^^^^^^^^^^^^^^^^^^^^^
}

function second(y) {
  return function() {
    document.getElementById(y);
  }
}