html中函數傳遞多個值,JavaScript 實戰開發經驗!函數多參數傳參技巧

HTML5學堂-碼匠:掌握JavaScript代碼的你,一定編寫封裝過函數,為了提升函數的控制性,必不可少的就是參數,必選可選的一大堆參數羅列出來,函數調用貌似變得麻煩起來~~~

Tips:

必選參數指的是必須要傳入實參的參數;

可選參數在函數中有默認值,如有傳入實參,則取實參的值,如果沒有傳入實參,則使用默認值。

函數的眾多參數問題

當一個函數既有必選參數,又有可選參數,在定義函數時,我們可能采取的方式是:無論參數是可選參數還是必選參數,都將參數羅列下來(通常按照先必選再可選的順序)

但是這樣的羅列方法,會導致一些問題的產生!

舉例來說:有一個功能函數h5course,name和domain為其必選參數,而minAPP和book為其可選參數,而我們如此定義函數:

bVWGnS?w=640&h=130

此時,調用函數,需要傳入name、domain、book這三個參數,那么,問題來了!

由于在函數定義當中,book的參數位置位于minApp參數之后,在調用函數時,如果希望為book這個參數傳入值,就必須按照如下方式進行書寫:

h5course('name參數值', 'domain參數值', '', 'book參數值');

不難發現,當前第三個參數的處理就變得麻煩起來。于是乎,可能很多人會在函數中通過添加if判斷,來進行參數控制 ——

bVWGn2?w=640&h=274

此時仍然存在這樣兩個問題:

第一,函數的調用者必須要了解函數內部的參數判斷方式,才能夠正確書寫“不需要的可選參數”

第二,在調用多個可選參數的函數時,調用代碼會變得很麻煩(當然你可以為函數添加注釋,降低使用時的難度)

更好的函數參數書寫方法!

面對如上的這些問題,下面這種方法,你值得擁有!

用對象替代掉原有的單個參數傳遞方式

函數內部使用arguments替換原有的形參

利用for-in循環,修改可選參數的默認值

一起來用此方法調整一下h5course函數

bVWGon?w=640&h=678

在此段代碼當中,傳入了三個參數

for-in循環當中,為defaultValue添加了name和domain的值,并修改了minApp的內容

函數調用時,參數的處理會變得更方便簡單,但是也要注意,為了讓使用者清晰了解哪些參數是必須的,建議在函數前面添加合理注釋!

來個“智力”測試?

生活艱辛,代碼不易,但,不要忘記微笑!

bVWGop?w=640&h=674

bVVTIk?w=640&h=92

bVWGov?w=640&h=242

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538714.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538714.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538714.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

軟件工程學習筆記(考試版)

軟 件 工 程 筆 記 第一章 一個軟件產品必須由一個完整的配置組成,軟件配置主要包括:程序,數據及相關文檔。程序是能夠完成預定功能和性能的可執行的指令序列;數據是使程序能夠適當的處理信息的數據結構;文檔是開發使…

JAVA程序員面試總結,高手整整理加強版

第一階段:三年 我認為三年對于程序員來說是第一個門檻,這個階段將會淘汰掉一批不適合寫代碼的人。這一階段,我們走出校園,邁入社會,成為一名程序員,正式從書本 上的內容邁向真正的企業級開發。我們知道如…

gin 項目結構_Gin框架中文文檔

最近更新時間:2019-02-20Gin 是一個 go 寫的 web 框架,具有高性能的優點。官方地址:https://github.com/gin-gonic/gin目錄[TOC]安裝要安裝Gin包,首先需要安裝Go并設置Go工作區1、下載并安裝$ go get -u github.com/gin-gonic/gin…

計算機在材料科學中的應用上機二,計算機在材料科學中的應用-上機實驗二.doc...

計算機在材料科學中的應用-上機實驗二實驗二 Office使用技巧?1 Word工具欄的增刪與了解其主要作用(1) ? 把“常用”和“格式”工具欄打開(一般情況下是打開的!),拖動到合適地方。打開和關閉“符號欄1”和“符號欄2”,了解其主要作用。步驟&…

印象筆記編輯pdf_筆記軟件使用體驗(至2020.03)

幾年的時間,從OneNote到為知筆記,再到印象筆記,再回到為知筆記和OneNote,用下來感覺各有優勢,也有不爽的地方。 早年間OneNote的同步很有問題,一次同步沖突導致失去了幾乎所有筆記本。心灰意冷之下就離開了…

oracle修改字符集

生產環境的數據表用了 中文字段名。 在生產環境oracle表正常,新建開發環境時,報字符串超長。 原因是 生產oracle字符集是:NLS_CHARACTERSETZHS16GBK 開發oracle字符集是:NLS_CHARACTERSET AL16UTF16 開發oracle需要修改字符集…

C#獲取當前程序運行路徑的方法集合

2019獨角獸企業重金招聘Python工程師標準>>> // 獲取當前進程的完整路徑,包含文件名(進程名) Console.WriteLine(GetType().Assembly.Location "\tGetType().Assembly.Location"); // 獲取新的 Process 組件并將其與當前活動的進程關聯的主模…

mac安裝python3.7兩個版本_MAC下同時安裝Python2和Python3

第一步:在安裝Python之前,你的電腦需要安裝一下工具:1.xcode(App Store里可以直接下載)2.套件管理工具Homebrew第二步:安裝Homebrew1.打開終端,輸入:ruby -e "$(curl -fsSL https://raw.githubusercon…

Hive thrift服務--beeline使用

hive提供了thrift服務,只要客戶端符合thrift標準就可以與它對接。 這樣可以以在一臺服務器上啟動一個hive,其他用戶通過thrift訪問hive。 hive自帶了一個thrift的客戶端-------bin/beeline 啟動方式: 1、hadoop的core-site.xml增加配置 &l…

vfp控制excel使用sort_使用Python根據索引合并Excel表

有兩張不同大小的excel表表1:字典的選項值,2118行表2:字典名稱,405行表1和表2有共同的列.現在需要根據共同的列,以表1為底,將表2的值對應添加到表1的每一行。下面是代碼:1.加載相關的庫import n…

Redis詳解(三)

一、Redis集群介紹 Clustering:redis 3.0之后進入生產環境分布式數據庫,通過分片機制來進行數據分布,clustering 內的每個節點,僅有數據庫的一部分數據;去中心化的集群:redis集群中的每一個節點,都可以作為集群的接入節…

db2數據庫日期減一天_DB2 數據庫中的日期與時間如何正確操作?(2)

日期函數有時,您需要知道兩個時間戳記之間的時差。為此,DB2 數據庫提供了一個名為 TIMESTAMPDIFF() 的內置函數。但該函數返回的是近似值,因為它不考慮閏年,而且假設每個月只有 30 天。以下示例描述了如何得到兩個日期的近似時差&…

win10計算機從桌面消失了,Windows10家庭版程序窗口在桌面上消失了解決方法

相信大家對于電腦非常不陌生吧,當你遇到Win10程序窗口桌面上消失了怎么辦這個問題該怎么解決嗎?不知道了吧,接下來小編就以程序窗口時所遇到的Win10程序窗口桌面上消失了怎么辦問題來給大家講講,看看小編是如何幫大家解決Win10程序…

如何將hive查詢結果導出成txt文件

原文地址:https://zhidao.baidu.com/question/241683835498891364.html ----------------------------------------------------------------------------- 最近在使用hive時,需要將hive查詢的數據導出到本地文件系統,HQL語法如下&…

MSSQL-最佳實踐-如何監控備份還原進度

title: MSSQL 最佳實踐 如何監控備份還原進度 author: 風移 摘要 本期月報是SQL Server備份還原專題分享系列的第六期,打算分享給大家如何監控SQL Server備份還原進度。 場景引入 由于SQL Server備份還原操作是重I/O讀寫操作,尤其是當數據庫或數據庫備…

搶車位app下載_太方便了!有了這個APP,找車位再也不用“兜圈子”了

對于不少有車一族來說,決定出門是否開車的重要因素之一,那就是目的地是不是好停車,因為找車位可真是一件很頭疼的事,不過未來,滿街找停車位的尷尬情況將會越來越少,近日,鎮江智慧停車平臺正式上…

bmp文件頭_圖像算法原理與實踐——圖像文件存儲

圖像數據在計算機儲器設備中的存儲形式是圖像文件,圖像必須按照某個公開的、規范約終結定的數據存儲順序和結構進行保存,才能使不同的程序對圖像文件順利進行打開或存盤操作,實現數據共享。圖像數據在文件中的存儲順序和結構稱為圖像文件格式…

一共81個,開源大數據處理工具匯總

查詢引擎 一、Phoenix 貢獻者::Salesforce 簡介:這是一個Java中間層,可以讓開發者在Apache HBase上執行SQL查詢。Phoenix完全使用Java編寫,代碼位于GitHub上,并且提供了一個客戶端可嵌入的JDBC驅動。 Phoen…

html5怎么刪除樣式,css怎么刪除一個樣式

css刪除一個樣式的方法:首先創建一個HTML示例文件;然后給div添加css樣式;最后通過“removeClass()”方法從被選元素刪除一個或多個類即可。本教程操作環境:windows7系統、HTML5&&CSS3版、Dell G3電腦。CSS添加樣式、刪除樣…

python語言中內置的字符串排版方法_Python14之字符串(各種奇葩的內置方法)

一、字符串的分片操作其分片操作和列表和元組一樣1 str1 keshengtao2 str1[2:6]3 shen4 str1[:]5 keshengtao6 str1[:4]7 keshView Code二、訪問字符串中的字符注:字符串中的單個字符,同樣也是字符串1 str1 keshengtao2 str1[3]3 hView Code三、字符串…