javascript - 将变量传递给 JavaScript 函数

标签 javascript

我想将变量“template Body”传递给函数,这可能吗? 我的代码

function GetMenu(){
 var templates = [{name:"maher",body:"<p>Maher test</p>"},{name:"Jeremy",body:"<p>Jeremy test</p>"}]
 var payload = []
 for (var i = 0; i<templates.length; i++){
   var templateBody = templates[i].body
     payload.push({
       text : templates[i].name,
       onclick: function(templateBody){tinymce.activeEditor.execCommand('mceInsertContent', false, templateBody);}
 })
}
return payload
}

最佳答案

只有在调用函数时才能传递变量。但你不是。但是,由于所有 JavaScript 函数都是闭包,因此您仍然可以访问在更高范围内定义的任何变量。没有什么特别要做的。

您的代码的问题在于您使用参数 遮蔽变量 templateBody 参数 模板主体。删除它:

function(templateBody) -> function()

另一个问题是您正在循环内创建一个函数。这对于闭包来说效果不太好,但有解决方案:JavaScript closure inside loops – simple practical example

关于javascript - 将变量传递给 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32333696/

相关文章:

javascript - Flipswitch 使用 jquery-mobile 更新 mysql

javascript库变量改变

javascript - jQuery ajax 工作但 axios 给出 CORS 错误

javascript - 使用 AngularJS 在 AJAX 调用后绑定(bind)数据

javascript - 遍历javascript中对象的所有成员

javascript - 如何在 JavaScript 中组装异步请求的结果

Javascript 全屏 api 和窗口高度

JavaScript 内联代码未显示在浏览器中

javascript - Angularjs ui-select (select2) 不使用 'Controller as' 语法没有被选中

javascript - Angularjs:用户输入后更新过滤器