只能在【運算】設計圖標中使用js代碼。在【運算】窗口中輸入js代碼的過程與輸入aws代碼的過程類似,但在輸入js代碼之前,必須利用【運算】窗口工具欄中的【語言】按鈕,將當前語言選擇為javascript,如圖3-51所示。【語言】按鈕以authorware 7.0的標志表示aws語言,同時運算窗口狀態欄的右側也會顯示出當前選用的語言。
圖3-51 編寫js代碼
變量聲明語句。
var a, b=0, c="hello, world"; //聲明3個變量
條件語句。可以有以下兩種格式:
(1)if ( 條件1 ) {
操作1
}
(2)if ( 條件1 ) {
操作1
} else {
操作2
}
條件語句可以嵌套使用。
循環語句。可以有以下兩種格式:
(1)for ( 初始化表達式 ; 結束條件; 表達式 ) {
操作
}
例如
for ( var i = 0; i < 10; i++ ) {
//被循環執行的語句
}
(2)for ( 屬性名 in 對象 ) {
操作
}
例如
for ( property in objectinstance ) {
//被循環執行的語句
}
循環語句。
do {
//被循環執行的語句
} while ( 結束條件 )
循環語句。
while ( 開始條件 ) {
//被循環執行的語句
}
立即結束循環。
立即結束本次循環,提前進入下一輪循環。
分支語句。根據表達式expression的值,選擇執行不同的分支。
switch ( expression ) {
case value1 :
statement;
break;
case value2 :
statement;
break;
default :
statement;
}
通知程序塊中的所有語句當前正在處理的對象,借此可以縮短由點語法形成的語句長度。
with ( object ) {
//程序塊
}
用于定義函數。例如
function removeextraspaces(string, delimiter)
{
var returnstring = "";
splitstring = string.split(delimiter);
for(i = 0; i < splitstring.length; i++)
{
if (splitstring[i] != "") returnstring += splitstring[i] + delimiter;
}
return returnstring;
}
從函數中返回。
異常處理。
try {
throw error ; //報告異常
}
catch ( error ) {
//異常處理程序
}
finally {
//其他處理措施
}
在同一個程序文件中可以同時使用aws與js編程,但是在同一個【運算】設計圖標之中只能使用同一種語言。經常同時使用aws和js編程的設計人員請注意以下幾個方面的問題:
(1)在js中,可以利用“//”或“/* */”兩種方式增加注釋。其中“//”用于在一行代碼中添加注釋,從字符“//”起直至行結束位置之間的內容都被當作注釋處理。“/**/”用于添加多行注釋內容,“/*”表示注釋的開始位置,“*/”表示注釋的結束位置。
(2)與aws相反,js是大小寫敏感的語言,例如myvariable,myvariable和 myvariable是3個完全不同的變量。
(3)多個js語句由分號分隔,可以放在同一行內。每一行js代碼末尾的分號不是必需的,但是使用分號是一種良好的編程習慣。
(4)書寫js代碼時,直接按下enter鍵就可以將一行較長的語句分為多行。而在書寫aws代碼時,必須通過alt+enter組合鍵達到同樣的目的。
(5)在使用aws時,如果將文件屬性檢查器中的on return屬性設置為resume,那么所有變量的值都會在程序返回時得到恢復,但是這一特性不適用于js。
(6)當修改程序文件中的設計圖標和變量名稱時要格外注意,authorware不會自動修改js代碼中引用的設計圖標和變量名稱,從而導致js代碼運行時出錯,這一點通常在運行程序時才能被發現。
(7)如果js代碼運行時出錯,錯誤代碼的行號將顯示在提示對話框的標題欄中,記下該行號會有助于快速排除js代碼中的錯誤。
(8)在同一程序文件中可以定義同名的js變量和aws變量(盡管這可能造成混淆),但不允許定義與現有設計圖標屬性和方法重名的圖標變量(例如movable、checked等等)。
(9)js對象、函數和變量的作用范圍取決于它們在程序中的位置,在一個【運算】設計圖標中定義的變量、函數和對象都可以在后續的運算設計圖標中繼續使用。
當使用aws編程時,在關閉運算窗口的同時authorware會自動檢查aws代碼中的語法錯誤并及時給出提示。而當使用js編程時,authorware不對js代碼進行語法檢查(哪怕存在非常嚴重的錯誤),因此僅在程序運行時才能發現和定位js代碼中的錯誤。
新聞熱點
疑難解答