數對于任何編程語言來說都是核心部分。通過函數可以封裝任意多條語句和表達式,而且可以在任何地方、任何時候調用函數方法來執行。
在JavaScript中的函數使用function關鍵字聲明,然后就是函數的參數和函數體。
函數的語法如下:
function functionName(arg0,arg1,arg2,...){ statements }
示例:
定義了一個hello方法, 這個函數通過其函數名來調用,函數輸出結果是"Hello World"。函數中定義中的命名參數h和w被作用了字符串拼接的兩個操作數,最終結果通過控制臺打印顯示出來。
JavaScript中的函數在定義時不必指定是否返回值。實際上,任何函數在任何時候都通過return語句后跟要返回的值來實現返回值。
帶有返回函數的語法如下:
function functionName(arg0,arg1,arg2,...){ statements return result; }
示例:
凡是帶有返回值的函數,在return之后寫其它代碼塊是不會在執行的,因為已經把結果都返回出去了相當于這個函數已經結束了。
在嚴格模式對函數存在一些限制:
1、不能把函數名命名為eval或者arguments;
2、不能把參數命名為eval或arguments;
3、不能出現兩個命名參數同名的情況。
如果發生以上的情況,會導致語法錯誤,代碼執行不下去。
JavaScript函數的參數與大多數語言的函數參數有一點區別。JavaScript函數不介意傳遞進來多少個參數,也不在乎傳遞進來的參數是什么類型。即使定義的函數帶有接收兩個參數,在調用這個函數時也不一定要傳這兩個參數??梢圆粋鲄怠⒖梢詡饕粋€參數、可以傳兩個參數甚至跟多。但是對于JavaScript解析器來說是不會報錯的,完全正常解析。
原因在于JavaScript內部接收參數始終都是以數組來接收,實際上我們可以通過arguments對象來訪問這個參數數組,從來獲取傳遞函數的每一個參數信息。
訪問arguments對象數組可以使用方括號來訪問它的每一個元素,使用length屬性來確定傳遞進來多少個參數。在前面的hello函數可以通過arguments[0]來獲取參數。
示例:
arguments獲取參數也是有順序的,第一個參數傳進來的是什么就是什么。
還可以不定義參數傳遞的值
如果值傳遞了一個值,然后通過arguments[1]獲取參數,其實結果是undefined。arguments[0]是正常的參數值,因為只傳了一個值。
JavaScript中除了對象類型參數,其它參數都是值傳遞,不可能通過引用參數傳遞
而且JavaScript中的函數不存在重載,定義多個函數名相同并且參數個數不同的方法進行調用,永遠都是拿最后定義的那個函數作為方法調用。
調用的是帶兩個參數的函數,因為我這里只傳了一個值,第二個值默認是undefined。
所以說JavaScript不存在方法重載的這一方法。
動XRunner測試工具腳本設置關聯參數及運用。
大家好,今天講解掌動XRunner測試工具腳本設置關聯參數及運用。本期的HTTP腳本包含登錄、查詢用戶和編輯用戶三個場景。關聯參數的用途是獲取HTML返回的參數值并傳參給其他接口。設置關聯參數的方法有兩種,分別是"左右邊界值"法和"JSON方式"獲取法。
先來查腳本及場景。場景設計思路介紹,首先是"登錄"場景,通過錄制工具錄制的腳本系統會設置默認關聯參數,如HTTP支持:Host、Cookie、Content-Length等等。"默認關聯參數"是為了加強錄制腳本的通用性。"登錄"后再"查詢用戶列表","查詢用戶列表"是為了獲取"編輯用戶"場景所需的參數,獲取到參數后再"編輯用戶"。
"編輯用戶"需要三個必填參數,分別是參數userld和參數loginName,返回被測系統,查看編輯用戶的信息及對應參數的情況。這里需要強調的是loginName是不可更改項,要確保參數值不變。還有參數userld,userld可返回"用戶列表"頁查看。該如何獲取這幾個參數?返回"腳本編輯"頁,選中"查詢用戶節點",點擊"關聯參數"。
·先介紹第一種"左右邊界值"法,"來源"選擇"HTTP內容","參數名"在被測系統的response中找到userld,復制"userld":298。返回腳本編輯頁,參數名定義為userlD,"黏貼"userld":298,進"查找文本"里剪切298,黏貼到"右邊文本"里刪掉298。
這樣就獲取到userld參數值"298"了。獲取次數選"第一個",還要獲取loginName的參數值??梢圆捎?#34;Beast方式"獲取法,需先分析"查詢用戶列表"返回的Response信息。我們的目標是獲取loginName的test1,返回"腳本編輯"頁,點擊"新增"操作,"來源"選擇"JSON方式",查看具體用法。
參考例子2來獲取loginName的參數值。開始定義loginName參數。
·返回被測系統,該SS的SS是一個數組,loginName是數組[0]的參數,rows在天長數據的第一層,復制"rows"。
·返回腳本編輯頁,參數名定義為ln。剛才對HY數據的分析可知,"查找文本"里要錄入第一層"/字段"。
·再取數組第一個元素中的loginName參數。
→復制"loginName",將/loginName添加到rowa零后面及loginName,"讀取次數"也是選"第一個",保存。
→復制userlD用于"編輯用戶"的參數引用。
→選中"編輯用戶"節點,將參數userld的參數值2替換成(userlD),再變更參數loginName。因為loginName是不可變更的,所以要使用原loginName的參數值。
→返回腳本編輯頁。
→選中"查詢用戶列表"節點,復制參數名ln,將獲取的loginName傳參給"編輯用戶",即把loginName參數值test1替換成"lN]。
→最后再編輯參數userName。為了區分userName和loginName可以定義一個變量。
→點擊"參數列表","類型"選"隨機參數","參數名"用"name","參數值/前綴"用"aa_"下滑杠。
→設置初始值和結束值,在1~1000之間生成一個隨機數并與"參數前綴"拼接,生成參數name的值。"關閉窗口"。將userName的參數值test1替換成(name}。
→保存。返回被測系統查看用戶列表信息,查看"登錄名稱"為test1的信息。
→返回"腳本編輯"頁,點擊"調試"。從調試日志看到userID是258,QQ是test1,name是aa_801。
→返回被測系統驗證,刷新用戶列表查看用戶名是否修改成"aa_801"。
→刷新后用戶名變更為"aa_801"。
→返回調試頁,再調試一次。userlD和ln保持不變,name變成"aa_333"。再返回被測系統驗證,刷新后查看用戶名變更為"aa_333",說明已經關聯設置成功了。
以上是關聯參數設置的全部內容,感謝觀看。
前2篇文章講了《為什么375×667是移動端原型設計的最佳分辨率如何設置手機APP原型尺寸
所謂的APP原型適配手機,是指用手機瀏打開原型頁面的時候,橫豎都剛好撐滿屏幕。當然如果頁面比較長,高度超過一屏是沒問題的。
比如你的原型是375×667,手機是iPhone6/6s/7,那在手機上查看的時候無需縮放,默認撐滿屏幕。
如果你的原型是360×640,而手機是Android的小米4、小米note、華為p7、p8榮耀6、7這些主流機型,也是一樣的。
比如你的原型是375×667,而你的手機是華為p8,1080×1920。理論上來說無法完美適配APP中所有的頁面。但是除了有下導航的頁面一般都沒問題。
你需要在Axure生成HTML的時候設置一下手機上如何展示原型。
請勾選包含視口標簽。瀏覽器顯示網頁,默認是按照網頁自身分辨率來展示的。勾選了此項之后,里面的區域按照下方規則來處理展示。
寬,使用默認的device-width即可。
高,一般不需要填,因為是根據寬度來決定的。
最小縮放倍數和最大縮放倍數,一般不需要填。
允許用戶縮放,一般填寫no。
具體規則是原型頁面的橫向分辨率x初始縮放倍數xDPR參數=手機屏幕的橫向分辨率。得出這個值填到上圖中的對應位置。
而這里的DPR參數(devicePixelRatio),代表的是設備像素和CSS像素的比例,下方的chrome網頁調試中也揭示了這一點。
所以上面的華為p8應該設置為0.96,你可以根據機型去百度搜索對應的DPR參數是多少。
通過chrome-視圖-開發者-開發者工具,切換到你想看的手機尺寸。同時也可以用這個工具去了解在其他機型上面的效果,以方面了解是不是需要單獨適配。
當然safari的菜單欄-開發-響應者模式也可以。
請用手機瀏覽器打開該網頁,請用手機瀏覽器打開該網頁,最好生成到桌面查看效果。比如我設計的原型。
建議豎向減掉20px,因為Axure默認不顯示頂部狀態欄。
建議你們下次設計APP原型的時候按照通用分辨率375×667來設置,次選方法是按照自己手機的邏輯分辨率來定尺寸。。
如果想明白為什么要這樣設置,可以去搜索viewport和邏輯分辨率等概念。當然就使用而言,PM無需了解這些知識。
至于如何把原型放到手機上面查看,我們下次再講。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。