簡體   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