文档章节

一些好的编程习惯

KuangCaibao
 KuangCaibao
发布于 2015/12/02 17:37
字数 322
阅读 9
收藏 0

函数定义

javascript中函数的入参没有C或者Java中那么严格,即当你在javascript中定义了一个函数,例如 foo,那么在后面的代码中调用 foo 的时候,不管调用 foo 的入参有几个,javascript 都是执行你最新定义的 foo 函数。

function foo( arg1 ) {
  arg1 = arg1 || 0;
  return arg1 + 1;
}

function foo( arg1, arg2 ) {
  arg1 = arg1 || 0;
  arg2 = arg2 || 0;
  return arg1 + arg2; 
}

console.log(foo(1));  // 1

 可以看到,这里javascript运行的函数没有像C或者Java中使用第一个foo函数,所以这样我们在定义javascript函数的时候,对于函数的入参的处理很灵活。在看他人写的api文档的时候,总是可以看到有的函数的参数有默认值这些的。所以定义函数的时候我们可以像类似下面的方式处理。

// foo 函数最多接受3个入参
// arg1: 默认值为 0
// arg2: 默认值为 1
// arg3: 默认值为 2
function foo(arg1, arg2, arg3) {
  if(arguments.length == 2) {
    arg3 = arg2;
    arg2 = arg1;
    arg1 = 0;
  } else if(arguments.length == 1) {
    arg3 = arg1;
    arg2 = 1;
    arg1 = 0;
  } else if(arguments.length == 0) {
    arg3 = 2;
    arg2 = 1;
    arg1 = 0;
  }
  return arg1 + arg2 + arg3;
}

foo(2,3,4); // 9
foo(3,4);   // 7
foo(4);     // 5
foo();      // 3

© 著作权归作者所有

共有 人打赏支持
上一篇: Java语法知识汇总
下一篇: jUnit - 入门介绍
KuangCaibao
粉丝 1
博文 21
码字总数 10699
作品 0
武汉
程序员
私信 提问
永远不要再犯的 5 个编程错误

当你开始成为一个程序员的时候,在编程的时候很容易陷入下面所述的一些坏习惯。 作为一名程序员,犯错误不可避免,这是你学习编程课程中的一部分。在你的职业生涯中你会犯很多错误 - 有的特别...

oschina
2013/07/04
10.6K
26
新年的决心----resolution

程序员的日常之新年决心。2016年已经过去快一周了,你有没有许下一些决心,是要在新一年里实现的呢? 继续学习PHP,Java,Android编程。。。。。。 继续写代码,压缩代码。 南下广州 开网店,...

crossmix
2016/02/07
34
0
如何写出好的 PHP 代码?

编写良好的代码是一种艺术。如果一个程序员遵循一些良好的编程习惯,那么他就可以成为一个优秀的程序员。实际上,相对于你写代码的时间,你很可能会花更多的时间在代码维护上;更不用说整个应...

tsl0922
2012/11/27
827
2
如何写出好的 PHP 代码?

编写良好的代码是一种艺术。如果一个程序员遵循一些良好的编程习惯,那么他就可以成为一个优秀的程序员。实际上,相对于你写代码的时间,你很可能会花更多的时间在代码维护上;更不用说整个应...

迷途d书童
2012/07/24
5.5K
23
如何成为一名优秀的程序员?

原文链接 首先是 来自自身内部的创造性的一面 虽然你可以从别人那里学到很多东西,也可以已有的东西中得到灵感。但真正的创意灵感来自于你自己。例如乔布斯,他不是一名工程师,也不是程序员...

这个昵称有点意思
2017/11/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring学习笔记(二)spring 事件的使用

spring 中的事件 spring事件通过订阅发布 可以解耦操作 可以同步 可以异步 步骤 编写事件 通过继承org.springframework.context.ApplicationEvent 来编写事件 public ApplicationEvent(Obj...

NotFound403
昨天
11
0
特斯拉车主成功破解了自己Model 3汽车

据汽车博客Electrek消息,一位特斯拉车主成功破解了自己Model 3汽车,还在此基础上运行了Ubuntu。 这位叫trsohmers的网友表示,“功劳大多要归到Ingineerix的头上,他花了数月才找到初始的那...

linuxCool
昨天
3
0
Gitbook : random errors when using gitbook plugin on running "gitbook serve"

在执行gitbook serve时,会有不定的失败错误 参考问题 :#1309 解决方案: 更新gitbook版本,这个问题似乎是3版本的问题 , 官方也不打算在这个版本解决了。 更新 到最新版本后, 不再出现问...

ol_O_O_lo
昨天
1
0
提灯照暗,向内自省——《中国文化的深层结构》读书笔记3800字

提灯照暗,向内自省——《中国文化的深层结构》读书笔记3800字: 作者:王健茜;断断续续一个多月才读完了《中国文化的深层结构》,这并不是一本难懂的书,之所以读得慢,源于对书中观点的思...

原创小博客
昨天
3
0
高德地图-行政区域接口

1、获取全国各省信息 https://restapi.amap.com/v3/config/district?extensions=all&key=应用Key&s=rsv3&output=json 2、获取下级行政区域信息 https://restapi.amap.com/v3/config/distric......

voole
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部