添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1. ES5方法(默认参数与可选参数)

函数定义时,给函数传入一个“对象”类型的形参,具体实现时,为对象形参添加属性,每个属性相当于函数的一个参数。

不设置默认参数时,参数赋值如下:

var para=args.para;

设置默认参数时,参数赋值如下:

var para=args.para || 默认值 ;

完整的代码示例:

    var CookieUtil = {
        set: function(args) {
            var name = args.name || "张三";
            var value = args.value;
            var expires = args.expires;
            var path = args.path || "/bags/";
            var domain = args.domain;
            var secure = args.secure;
    CookieUtil.set({
        name: "name",
        value: "Nicholas",
        path: "/books/projs/",
        domain: "www.wrox.com",
        expires: new Date("January 1, 2010")

2. ES6方法(默认参数)

函数定义时传入形参对象,参数直接赋予默认值。但注意,当以参数列表形式设置默认值时,赋值方式是按序赋值。

代码示例:

function doSome({a,b=2,c}){
    console.log(a,b,c);
doSome({a:5,c:22})
// 5 2 22
//参数列表方式
function doSome(a,b=2,c){
        console.log(a,b,c);
doSome(5,22)
// 5 2 22

参考:
【1】
js参数对象实现可选参数和参数默认值

JavaScript函数可以以任意数目的参数来调用, 而不管函数定义中的参数名字有多少个。由于函数是宽松类型的,它就没有办法声明所期望的参数的类型,并且,向任何函数传递任意类型的参数都是合法的。 当调用一个函数参数少于声明的参数个数的时候,其他的参数就有一个undefined的值。编写这样的函数常常是很有用的:某些参数可选的并且在调用函数的时候可以忽略它们。要做到这一点,必须能够为忽略掉的参 不定参数 我们通常使用可变参函数来构造API,可变参函数可接受任意数量的参数。例如,String.prototype.concat方法就可以接受任意数量的字符串参数。ES6提供了一种编写可变参函数的新方式——不定参数。 我们通过一个简单的可变参数函数containsAll给大家演示不定参数的用法。函数containsAll可以检查一个字符串中是否包含若干个子串,例如:containsAll(" elem :要绑定的HTMLElement 。 如果未给出,则将呈现默认按钮。 options url :您的微反馈后端的URL。 如果为null ,则反馈将记录到控制台。 也可以是接收btn和result (用户输入)作为参数并返回URL的函数默认值: null buttonText :要在默认按钮中显示的文本。 默认值: 'Feedback' buttonAriaLabel :默认按钮的aria-label 。 默认值: 'Send feedback' title :显示在对话框中的标题。 默认值: 'Send feedback' place javascript函数的解释,解释了具体函数的功能,一、函数JavaScript函数集合 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型:parseInt(),parseFloat() 9.JS中的数字转换成字符型:(""+变量) 10.JS中的取字符串长度是:(length) 11.JS中的字符与字符相连接使用+号. 12.JS中的比较操作符有:==等于,!=不等于,>,>=,<.<= 13.JS中声明变量使用:var来进行声明 14.JS中的判断语句结构:if(condition){}else{} 15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop} 16.循环中止的命令是:break 17.JS中的函数定义:function functionName([parameter],...){statement[s]} 18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. 19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self 20.状态栏的设置:window.status="字符"; 21.弹出提示信息:window.alert("字符"); 22.弹出确认框:window.confirm(); 23.弹出输入提示框:window.prompt(); 24.指定当前显示链接的位置:window.location.href="URL" 25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符:+= 28.创建一个文档元素:document.createElement(),document.createTextNode() 29.得到元素的方法:document.getElementById() 30.设置表单中所有文本型的成员的值为空: var form = window.document.forms[0] for (var i = 0; i<form.elements.length;i++){ if (form.elements[i].type == "text"){ form.elements[i].value = ""; 31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE) 32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length 33.单选按钮组判断是否被选中也是用checked. 34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值) 35.字符串的定义:var myString = new String("This is lightsword"); 36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase(); 37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到. 38.取字符串中指定位置的一个字符:StringA.charAt(9); 39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6); 40.数学函数:Mat 包含前舌签控件(SubShowClass)的全部基础功能。 增加渲染完成,激活前、后等三个定制回调。 强调灵活性和可维护性:增加对触屏的滑动响应;支持定制切换函数等以支持复杂的RIA需求。 构造参数 config (Object):配置对象,包含以下参数(带有“*”标识为必选): bonds (Array):绑定tab与相关dom,复杂数组格式,每组一对,可传入dom或id字符串。 selected (String):可修改激活项所绑定的内容容器的className,默认值'tab_selected'。 startOn (Number):可修改起始激活项序号,默认值0。 auto (Boolean|Number):设置自动播放,可传入布尔值或间隔秒数;默认值false;如传入true,间隔秒数默认值5。 trigger (String): function testArgs(optionalParam1,optionalParam2,stableParam1=0,stableParam2=10){ console.log(optionalParam1,optionalParam2,stableParam1,stab... js 自定义方法 设置可选参数方法php有个很方便的用法是在定义函数时可以直接给参数默认值,如:function simue ($a=1,$b=2){ return $a+$b; echo simue(); //输出3 echo simue(10); //输出12 echo simue(10,20); //输出30但js却不能这么定义,如果写function simue(a=1,b=2 讨论的问题:javascript中调用函数可选函数参数        这里所说的可选函数参数列表是调用函数时,函数参数列表是可选的,而不是定义函数时定义有参函数和无参函数,像C语言及其衍生语言,函数的调用必须和声明严格匹配,否则编译错误。虽然javascript借着java的东风,迅速流行起来,语法极其类似java,但javascript有自己的特性,这个特性之一就是弱类型,...