
為什么開啟延遲變量擴展需要兩個^^轉義字符而不開只是一個^,轉義字符最后由 GNGW 于 -3-20 16:04起因是因為一串代碼,我在論壇上看到的,原帖地址http://bbs.bathome.net/viewthread.php?tid=15680
這是源代碼,我發現“!我潛心向神學習智慧之道!”這句話并沒有顯示,碎片記憶中想加個^試試,于是改成了這樣nclick="copycode($('code0'));">復制代碼
- set str=!我潛心向神學習智慧之道!
- echo;1)!str!【%str%】為什么值為空呢?因這個變量“^!我潛心向神學習智慧之道^!”沒有SET。
成功顯示,聯系到很多地方都需要用雙字符,在我的上篇帖子中:http://www.bathome.net/redirect. ... 8649&pid=279265,又好奇為什么本身使用^脫字符,就可以轉義特殊字符了,為什么還要加一個^脫字符將后面的脫字符進行轉義為普通字符,才能顯示“!我潛心向神學習智慧之道!”呢?根據這一原因,進行了深入的研究,提問,發現在說,脫字符,這個問題跟到這,閱讀了部分帖子,發現一個邏輯或者機制,或者說理解,^與任何字符在一起此字符都是普通字符,在開啟延遲變量后,特殊符號!需要兩個^^才轉化成普通字符,我想這和延遲變量擴展機制有關,有沒有大佬普及科普一下。nclick="copycode($('code1'));">復制代碼
- set str=!我潛心向神學習智慧之道!
- echo;1)!str!【%str%】為什么值為空呢?因這個變量“^^!我潛心向神學習智慧之道^^!”沒有SET。

