以前使用Axure只是停留在元件的布局和簡單交互事件的設(shè)置,使用得非常膚淺,直到現(xiàn)在有時間靜下心來重學(xué)Axure,才發(fā)現(xiàn)函數(shù)和變量的牛逼之處。
以前在做較復(fù)雜交互時,為了實現(xiàn)一個效果吭哧吭哧寫了一串命令,而往往函數(shù)和變量一兩行就搞定了。眾所周知我們寫的命令越多,相互之間沖突的可能性越大,出錯越多,而且排查起來耗時耗力,尤其是在我們制作高保真原型做可行性測試的時候。這時使用函數(shù)和變量寫交互命令的威力就體現(xiàn)出來了,簡單的命令就能能制作逼真的復(fù)雜交互效果。
其實函數(shù)和變量沒有我們想象的那么難。
變量的本質(zhì)就是:數(shù)值的獲取和使用
函數(shù)的本質(zhì)就是:數(shù)值的處理(處理各種計算來達到想要的交互效果)
今天重點講下變量
變量可以分成兩大類:系統(tǒng)變量和自定義變量,而自定義變量里面又包括全局變量和局部變量。
系統(tǒng)變量,全局變量,局部變量三者功能各不相同。
系統(tǒng)變量:是系統(tǒng)已經(jīng)創(chuàng)建好的變量,用于直接獲取對象的特定屬性值。
全局變量:主要是用于不同頁面之間值的傳遞。
局部變量:主要是用于指定頁面內(nèi)某個特定對象,往往和系統(tǒng)變量配合使用。
系統(tǒng)變量在哪兒?其實就包含在函數(shù)里面,函數(shù)公式一共包括兩部分:函數(shù)和系統(tǒng)變量。現(xiàn)在我們來一一認清他們。




看到區(qū)別沒,變量是直接去獲取某個對象的某個屬性數(shù)值,不涉及數(shù)值的處理,只是簡單粗暴地讀取出來;而函數(shù)涉及數(shù)值的處理加工(函數(shù)處理的對象一定要是一個數(shù)值)。
如果還不能理解的話,就直接把帶括號的看成函數(shù),沒有括號的看成變量就行。
全局變量在哪兒?


局部變量在哪兒?


變量命名需要遵循以下原則:
? 變量名稱必須以字母或下劃線打頭,名字中間只能由字母、數(shù)字和下劃線“_”組成。
? 變量名稱的長度不得超過25個字符。
? 變量名稱在有效的范圍內(nèi)必須是唯一的。有效的范圍就是引用變量可以被程序識別、使用的作用范圍。
? 變量名稱不能是系統(tǒng)中的保留關(guān)鍵字,即不能與系統(tǒng)變量名稱相同。例如:name、text、this等等。
那么他們有何區(qū)別?又該如何使用呢?這就要從變量的本質(zhì)來說了。
變量的本質(zhì)是數(shù)值的獲取和使用。
數(shù)值?什么是數(shù)值?數(shù)值就是某個對象的某個屬性值。比如:[[this.width]]這個元件的寬度值,[[target.x]]目標元件的x坐標值。
所以很明顯變量獲取使用數(shù)值就涉及到兩個因素:對象和屬性。
首先來說對象,系統(tǒng)變量里面有,如:this,target,頁面,窗口,鼠標指針等;
全局變量也是對象,但對象一直在變,因為全局變量的作用是不同頁面之間值的傳遞,是一個中間人的角色;
局部變量也是對象,但非常專一,對象是確定的。
再來說屬性,屬性只有系統(tǒng)變量中有,width是寬度,height是高度、opacity是透明度、length是長度

所以當(dāng)我們在應(yīng)用的時候書寫格式為[[對象.屬性]],如:[[This.text]]這個元件中的文本。
現(xiàn)在我們理解了對象和屬性,那就很好理解系統(tǒng)變量,全局變量和局部變量之間的區(qū)別了。
系統(tǒng)變量擁有屬性這個特權(quán),但他的對象覆蓋不全面,只有this,target元件,鼠標指針,窗口,中繼器/數(shù)據(jù)集,頁面和字符串,并不能夠覆蓋所有的對象,所以需要全局變量和局部變量進行配合。
全局變量扮演的是頁面之間中間人的角色,把這個頁面的指定值傳遞到另一個頁面。
局部變量扮演的是該頁面系統(tǒng)變量對象的補充角色,把這個頁面中系統(tǒng)變量對象指定不了的,用局部變量來指定和命名,然后再配合系統(tǒng)變量的使用。但局部變量不能跨頁面使用,只在該頁面內(nèi)有效。
就這么多,完