我一直在閱讀一些代碼,看到一個沒有陳述句的 for 回圈,我試圖搜索它的含義但什么也沒找到(可能是因為如果我在谷歌中輸入類似“What is for(;;)”之類的內容,它只是讀作如果它是“什么是()”)。我不知道這是否只是一種喜歡禁用回圈并使其不運行的方法(因為我測驗過一次并且 de loop 中的代碼沒有運行),盡管我認為人們只會評論或洗掉回圈,我只是好奇
uj5u.com熱心網友回復:
這與不跑步完全相反。這是一個無限回圈。
for(;;){
console.log("test")
}
打開一個新選項卡,然后按下F12然后在開發人員控制臺中輸入上面的代碼,您會看到它test經常被列印出來,并且您的瀏覽器/選項卡將很快無回應,并且您的 PC/筆記本電腦可能會隨著冷卻器加速而變得更響,因為計算機正忙于回圈。
所以最好快速殺死你正在運行它的選項卡,或者如果你在 Node 中運行它,使用Ctrl C.
上面的代碼等價于:
while(true){
console.log("test")
}
以上是JavaScript,但這也適用于Java、C、C 、C#。由于for(;;)這些語言的語法不正確,它不會在Kotlin、GoLang、Python、Rust、Swift或Groovy(可能還有許多其他語言)中做任何事情。
uj5u.com熱心網友回復:
一個for回圈如下所示:
for (init_statement; condition; iteration_expression) statement
這相當于:
{
init_statement ;
while ( condition ) {
statement
iteration_expression ;
}
}
省略condition相當于true。省略init_statement或iteration_expression類似于空陳述句或運算式(什么都不做)。
所以,for(;;) statement等價于:
{
/* no init_statement */
while ( true ) {
statement
/* no iteration expression */
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/461260.html
標籤:for循环
上一篇:我的二維陣列被分配了錯誤的值
下一篇:R中的for回圈分離函式
