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){}会提示缺少对象。

js函数中有个储存参数的数组arguments ,所有函数获得的参数会被编译器挨个保存到这个数组中。于是我们的js版支持参数默认值的函数可以通过另外一种变通的方法实现,修改上例:


function
 simue (){

var a = arguments[0] ? arguments[0] :
1;

var b = arguments[1] ? arguments[1] :
2;

return a+b;

}

alert( simue() ); //输出3

alert( simue(10) ); //输出12

alert( simue(10,20) ); //输出30

js 的函数参数的默认值问题的更多相关文章

  1. php与js中函数参数的默认值设置

    php函数参数默认值设置: <?phpfunction test($val=3){   echo $val."<br/>";}test(11);test();?& ...

  2. (转)js函数参数设置默认值

    原文:http://www.cnblogs.com/RightDear/archive/2013/06/26/3156652.html js函数参数设置默认值   php有个很方便的用法是在定义函数时 ...

  3. JS中给函数参数添加默认值(多看课程)

    JS中给函数参数添加默认值(多看课程) 一.总结 一句话总结:咋函数里面是可以很方便的获取调用函数的参数的,做个判断就好,应该有简便方法,看课程. 二.JS中给函数参数添加默认值 最近在Codewar ...

  4. ES6 函数参数的默认值

    基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采取变通的方法. function log(x,y){ y = y||'world'; console.log(x,y); } log('k ...

  5. js函数参数设置默认值

    php有个很方便的用法是在定义函数时可以直接给参数设默认值,如: function simue ($a=1,$b=2){  return $a+$b;}echo simue(); //输出3echo ...

  6. JS中给函数参数添加默认值

    最近在Codewars上面看到一道很好的题目,要求用JS写一个函数defaultArguments,用来给指定的函数的某些参数添加默认值.举例来说就是: // foo函数有一个参数,名为x var f ...

  7. 给js function的参数设置默认值

    C# 中 function func(a,b=1){//具体方法} js 中 function func(a,b){ a= arguments[0] || 10; b= arguments[1] || ...

  8. JavaScript —— 给函数参数设置默认值

    一.ES5 function fn(x, y){ y = y || 20; console.log(x, y); } fn(); // undefined 20 fn(5); // 5 20 fn(5 ...

  9. Python中定义函数时参数有默认值的小陷阱

    在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类 ...

随机推荐

  1. 转:使用gradle 构建编译程序

    https://rinvay.github.io/android/2015/04/09/Build-Android-with-Gradle/

  2. UVA 11534 - Say Goodbye to Tic-Tac-Toe(博弈sg函数)

    UVA 11534 - Say Goodbye to Tic-Tac-Toe 题目链接 题意:给定一个序列,轮流放XO,要求不能有连续的XX或OO.最后一个放的人赢.问谁赢 思路:sg函数.每一段.. ...

  3. 【Python3 爬虫】11_报错No module named 'requests'

    从网上下载了一段源码,执行过程中报错: No module named 'requests' 一看英文就明白是咋回事了~ 是由于:没有模块requests 解决方案 打开cmd,在窗口运行命令:pip ...

  4. 【DB2】SQL0501N FETCH 语句或 CLOSE 语句中指定的游标尚未打开,或者游标标量函数引用中的游标变量尚未打开。 SQLSTATE=24501

    在DB2中建立存储过程时使用了隐式游标,在调用的时候报错如下: SQL0501N  FETCH 语句或 CLOSE 语句中指定的游标尚未打开,或者游标标量函数引用中的游标变量尚未打开.  SQLSTA ...

  5. table行编辑

    一个简单的Demo <html> <head> <title>Table Test Demo</title> <style> .view_t ...

  6. 在训练CNN时,loss稳定在log(类别数)

    参见知乎问题! https://www.zhihu.com/question/275774218 很多框架都会有一个问题,当卷积 weight NaN 之后,卷积的 output 会变成 NaN.然后 ...

  7. ReferenceError: Promise is not define

    尽管加入了babel-polyfill ,依然出现 [ReferenceError: Promise is not define]的问题.目前只在三星.金立手机出现这种问题.没办法,只能强行修复了. ...

  8. 转 spring官方文档中文版

    转 http://blog.csdn.net/tangtong1/article/details/51326887另附码云地址 https://gitee.com/free/spring-framew ...

  9. Redis源码之String操作

    0.前言 String操作是Redis操作中最基本的类型,包含get,set,mget,mset,append等等.下面我们会具体分析下一些命令的详细流程,特么简单的命令没有列出. 1.SET命令 2 ...

  10. Atitit. Ati IDE 开发平台的第一版规划

    Atitit. Ati IDE 开发平台的第一版规划 1. 增加业务类型复杂类型内置1 1.1. 简单类型string int float自动类型转换以及2 1.2. $变量str连接2 2. Dsl ...