[英]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.log
或res.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.