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.mzph.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三、字符串…