如何在加密腳本中使用全局變量在 Jmp13 中使用加密腳本,我想讀取一個預分配的全局變量。
例子:
使用標準腳本分配...
a=0;
b=10;
使用加密腳本
if (IsEmpty(a)==1,a=5); // DO NOTHING IF ITS NOT EMPTY
if (IsEmpty(b)==1,b=50); // DO NOTHING IF ITS NOT EMPTY
Write(a);
Write(b);
目標:如果全局變量未定義,則在加密腳本中分配它。如果定義了全局變量,則使用定義。
它無需加密即可工作。此外,在執行加密腳本後,我可以看到分配的默認全局變量。
那麼,是否可以將全局變量與加密腳本一起使用?
謝謝您的幫助。
回复:如何將全局變量與加密腳本一起使用那麼,你和@Craige_Hales取消選中加載項構建器中的“使用此處命名空間...”選項是正確的,這將解決您的特定問題。
不過,我敢肯定@Craige_Hales會同意我的觀點,更好的編程/腳本實踐是在引用所有變量時正確地確定它們的範圍。
“使用 Here 名稱空間...”選項默認處於啟用狀態,以保護全局名稱空間免受意外損壞。
回复:如何將全局變量與加密腳本一起使用傑夫,感謝您的確認。 是的我同意。 這是一個範圍界定問題。 但是,解決方案是取消選中加載項中的該框。 這允許外部腳本設置全局,內部加載項使用它。 我希望我能在其中一本指南中找到它。 那好吧。回复:如何將全局變量與加密腳本一起使用我認為這會讓你接近答案;看起來默認是在插件中使用 Here 命名空間,因此您可能需要使用 global:a 而不是 a
checked by defaultchecked by default默認勾選
回复:如何將全局變量與加密腳本一起使用ANSWER ==> 取消點擊“Use the “Here” namespace for unqualified JSL variable names
它適用於標準加載項腳本和加密腳本。
Un select: Use the "Here" namespaceUn select: Use the "Here" namespace取消選擇:使用“這裡”命名空間
回复:如何將全局變量與加密腳本一起使用我相信這是范圍和命名空間的問題,以及加載項菜單使用的事實名稱默認為此處(1) .
如果你試圖引用變量,你應該總是使用範圍運算符參考他們。 全局變量的作用域運算符是 ::。
names default to here(1);
::a=0;
a=45;
if(::a==0, show("yes"));
if(here:a == 45, show("yes"));回复:如何將全局變量與加密腳本一起使用進一步說明:問題不在於加密,而在於加載項。 直接在插件中使用 jsl 會導致同樣的問題。 加載項看不到全局變量回复:如何將全局變量與加密腳本一起使用澄清。 問題在於在加載項中使用加密腳本。
剛剛確認它可以作為獨立腳本與加密一起使用。
那麼加載項是否在不同的變量空間上運行? 奇怪,因為我可以在此加載項中的加密腳本中看到其他變量
抱歉沒有完全調試。