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