如何在javascript中调用子函数

时间:2014-03-19 07:02:43

标签: javascript

我希望从以下功能获得警报。它正在使用(' 10')()而不是(' 10')

function a(m){
return function b(){
alert(m)
}
}

a('10');

3 个答案:

答案 0 :(得分:1)

function a(m) {
    return function b() {
        alert(m)
    }
}

a('10');

console.log(typeof a);
// function
console.log(typeof a('10'));
// function

这是因为,当调用a时,它会从中返回另一个函数。因此,必须明确调用该函数。

这就是为什么我们a('10')()

如果这对您来说太混乱,那么只需删除内部函数并在alert函数本身中调用a,就像这样

function a(m) {
    alert(m);
}

如果警报是在函数内部完成的唯一任务,那么最好直接执行alert,就像这样

alert(m);

答案 1 :(得分:1)

重新运行自我调用功能

function a(m){
  return (function b(){
      alert(m)
   })(m)
}

现在

 a('10') // 10

答案 2 :(得分:-1)

你不需要b功能只是在一个警报。或者,如果您确实将括号转移到返回函数的末尾