簡體   English   中英

如何從 geogebra 腳本調用 javascript 函數?

[英]how to call a javascript function from a geogebra script?

在 Geogebra 中,讓我們從一個按鈕(屬性)定義一個 JavaScript 全局函數:

function ggbOnInit() {
}

function test(par) {
  return par * math.random();
}

如何從附加到該按鈕的 Geogebra 腳本中調用該函數(“單擊時”屬性)?

以下 Geogebra 腳本:

Sequence[test(3),k,1,5]

啟動錯誤消息“未知命令測試”,而等待 0 到 3 之間的五個隨機數序列。

為了調用您的全局 JavaScript 函數,您的“點擊時”腳本必須是 JavaScript 類型,而不是 GeoGebra 腳本。

我找到了這個可能的解決方案。

創建一個按鈕並在“單擊時”部分中,在底部選擇“ JavaScript ”,插入代碼:

ggbApplet.evalCommand("list={0}");
if (! ggbApplet.exists("par")) {ggbApplet.evalCommand("par=200")}; 
for(var i =1;i<5;i++) 
ggbApplet.evalCommand("SetValue[list," +i+",  par* random()]");

par參數可以設置為 Geogebra 變量或在代碼內部(如果變量不存在,將使用最后一個值)。

無論如何,我找不到如何在Global Javascript選項卡中使用函數或如何使用 Javascript math.random() 命令。

問題是 Geogebra 中可用的 JavaScript 命令可能是其外部可用的有限 JavaScript 集,但我不確定。

我不確定您是要獲得五個隨機整數還是十進制數。 如果您想獲得 0 到 3 之間的五個隨機整數,您可以使用 GeoGebra 腳本輕松完成。 您可以首先創建一個空列表,例如將 list={} 寫入輸入欄,然后用按鈕填充它或使用按鈕動態創建它。

創建一個按鈕,打開對象屬性,轉到腳本選項卡並在單擊選項卡內寫入下一行:list=Sequence[RandomBetween[0,3],k,1,5]

確保您在下拉菜單中選擇了“GeoGebra 腳本”。

如果您想要 0 到 3 之間的五個隨機小數,則執行相同操作,但代碼行略有不同: list1=Sequence[random()+RandomBetween[0,2],k,1,5]

希望這有幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM