文档章节

一些好的编程习惯

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

© 著作权归作者所有

共有 人打赏支持
KuangCaibao
粉丝 1
博文 21
码字总数 10699
作品 0
武汉
程序员
新年的决心----resolution

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

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

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

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

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

这个昵称有点意思
2017/11/26
0
0
一个交换程序的通用版本

Author:bakari Date:2012.9.3 交换程序是每个开始学习编程的人必学习的一个初级算法。算法思想很简单,就是为两个交换的双方在定义一个第三者即可。但越学到后面,你也许会发现这个程序也是...

chambai
2012/09/07
0
0
关于自己工具包的一些疑惑。

在工作中肯定有自己的编程风格,编程工具类等。然后我会把这些程序弄成一个单独的工程打包成jar。那么当开其它的工程时候我想引入自己jar。这样能迅速投入自己熟悉的开发环境。问题是工作中使...

宝石娃娃
2014/02/13
179
3

没有更多内容

加载失败,请刷新页面

加载更多

可爱的python测试开发库(python测试开发工具库汇总)

欢迎转载,转载请注明来源: github地址 谢谢点赞 本文地址 相关书籍下载 测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装。 链接 selenium - web UI自动化测试。 链...

python测试开发人工智能安全
今天
2
0
Shiro | 实现权限验证完整版

写在前面的话 提及权限,就会想到安全,是一个十分棘手的话题。这里只是作为学校Shiro的一个记录,而不是,权限就应该这样设计之类的。 Shiro框架 1、Shiro是基于Apache开源的强大灵活的开源...

冯文议
今天
1
0
linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部