繁体   English   中英

JavaScript Function 类似变量

[英]JavaScript Function like Variable

我想用这个 function 在结果之间调用:

工作结果:

function flag1(newflag){
    console.log('This is'+newflag+' Got it?')
}

flag1('My_Flag')

// Result: This is My Flag Got it?

不显示任何内容/不工作:

function flag2(newflag){
    'This is '+newflag+' Got it?'
}

flag2('My_Flag')

// Result: <Nothing>

我知道第二个例子是愚蠢的,但我还能想到什么? 我的目标是发送此消息以响应上述其他内容:这是我的旗帜 明白了吗?

例如:

res.send('Blah Blah Blah'+flag2('My_Flag')+' Blah Blah Blah')

预期结果:

Blah Blah Blah My_Flag Blah Blah Blah

这个问题基于 Expressjs,但其他人也可以提供帮助

PS:这是针对 CTF 或捕获国旗的,与国家无关,这些在任何地方都是不同的和独特的,这就是我使用函数的原因......

在您的第二个示例'This is '+newflag+' Got it?' 创建一个字符串。

这就是它所做的一切

它不会将它传递给另一个 function (如console.logres.send )。

它不会将其分配给变量。

它不会将其分配给 object 的属性。

它不会return它,因此可以在flag2('My_Flag')的左侧使用(并不是说您在该 function 调用的左侧有任何内容……尽管您在后面的示例中这样做: res.send('Blah Blah Blah '+flag2('My_Flag')+' Blah Blah Blah') )。

由于您不执行任何操作,因此字符串在创建后立即被丢弃(除非编译器完全优化字符串创建)。


如果您想对字符串做某事,那么您必须编写执行此操作的代码。

这有效:

function flag2(newflag){
   return (newflag);      
}

res.send('Blah Blah Blah '+flag2('My_Flag')+' Blah Blah Blah')

太简单了,忘记返回了

暂无
暂无

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

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