简体   繁体   English

字符串连接内的jQuery / javascript函数

[英]jquery/javascript function within string concatenation

i want to concatenation string having some calculated values in between, so i tried the code below: 我想串联两个之间有一些计算值的字符串,所以我尝试了下面的代码:

var html = '<tr>' + 
          function () {
              var tds = '' 
              array.each(function (i, ele) { tds += '<td>' + i + '</td>' });
              return tds;
          } +
          '</tr>';

But its not working. 但是它不起作用。 The function i used in concatenation as treating like a string itself !. 我在串联中使用的函数就像对待字符串本身一样! Is there any way to do that ? 有什么办法吗? Thank you 谢谢

You need to use an immediately-executing function: 您需要使用立即执行的功能:

var html = '<tr>' + 
      (function () {
          var tds = '' 
          array.each(function (i, ele) { tds += '<td>' + i + '</td>' });
          return tds;
      })() +
      '</tr>';

But you don't need this function, you can use existing functions to do what you want: 但是您不需要此功能,可以使用现有功能执行所需的操作:

var html = '<tr>' + array.map(function(i, ele) {
    return '<td>' + i + '</td>';
}).join() +
    '</tr>';

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM