文档章节

一些好的编程习惯

KuangCaibao
 KuangCaibao
发布于 2015/12/02 17:37
字数 322
阅读 9
收藏 0
点赞 0
评论 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 ⋅ 0

如何写出好的 PHP 代码?

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

迷途d书童 ⋅ 2012/07/24 ⋅ 23

如何成为一名优秀的程序员?

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

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

一个交换程序的通用版本

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

chambai ⋅ 2012/09/07 ⋅ 0

关于自己工具包的一些疑惑。

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

宝石娃娃 ⋅ 2014/02/13 ⋅ 3

我编码中的爱打#号的习惯

审查我的代码,通篇如下: printf(“##############-------sss---:%s %d”, somethinga, somethingb);其恶心程度,真的令人作呕。我面临了N多次的批评,然而仍然不知悔改,真是屡教不改,僵化...

晨曦之光 ⋅ 2012/04/10 ⋅ 0

android:contentDescription的作用是什么

在eclipse的Problems窗口下会有一些警告,处理掉这些警告是一个比较好的编程习惯。如果在项目中使用到了ImageView等有android:contentDescription属性的组件,就会给出提示。 按照官网的介绍...

OliverC ⋅ 2014/02/07 ⋅ 2

程序员减少代码BUG的7种方法,拒绝编程5分钟,查代码2小时!

  编程5分钟,查代码2小时!   在程序员的编程生涯,免不了和BUG打交道,甚至有些程序员被BUG虐杀的苦不堪言。   当有人指出程序员代码有BUG时,程序员的回答各有不同:   1、不可能啊...

W3Cschool小编 ⋅ 2017/12/22 ⋅ 0

程序员的 “坏” 习惯:试一试

有时,碰到一些程序员会问:“我以前是做安卓的,现在想试着学下后端服务开发,觉得怎样?”。我一下就会卡住,不知该如何回答好。学习本是好事,但前面加个 “试着” 似乎感觉就不太好了。 ...

mindwind ⋅ 2017/07/31 ⋅ 0

java 中的默认字符集的

有时,我们会碰到这样一些代码:依赖平台的默认字符集。 在windows上开发项目,我们使用的操作系统windows一般默认字符集是GBK;但是部署到linux上就会出现乱码问题。这个时候就蛋疼了,假如...

隆回水哥 ⋅ 2015/03/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部