代码之家  ›  专栏  ›  技术社区  ›  Ali-Alrabi

打印返回范围中的参数值

  •  0
  • Ali-Alrabi  · 技术社区  · 6 年前

    我有一个具有数据参数的CREATETOTOL函数,它返回具有多个字段的对象,我想在返回数据中打印参数,但总是不打印任何东西,如何在返回范围内打印数据参数?

    createTool(data){          
        console.log(data);  //print data value correctly 
        return {
            id: 'sidebar',
            label: 'SideBar',
            content: {
                tagName: 'div',
                components: [
                  {
                    script: 
                    `console.log(`+ data + `);\n`  //print no thing
                  }
                ]
              }
        }
    }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   ic3b3rg    6 年前

    我不确定我是否理解你的意图,但这里有一个尝试:

    function createTool(data){          
      return {
        id: 'sidebar',
        label: 'SideBar',
        content: {
          tagName: 'div',
          components: [
            {
              script: () => { console.log(data); }
            }
          ]
        }
      }
    }
    
    const test = createTool('Hello, world!');
    
    test.content.components[0].script();

    如果您绝对想将函数作为字符串返回(这确实不是一个好主意),下面是如何执行的:

    function createTool(data){          
      return {
        id: 'sidebar',
        label: 'SideBar',
        content: {
          tagName: 'div',
          components: [
            {
              script: `console.log(${JSON.stringify(data)});\n`
            }
          ]
        }
      }
    }
    
    const test = createTool('Hello, world!');
    
    eval(test.content.components[0].script);