1.函数语法:

函数声明的方式:
function 函数名(参数1,参数2…){
//函数体;
}
函数调用:函数名(参数1,参数2…);

函数内不一定都指定返回值。

如果需要指定返回值,可用 return 跟上要返回的值来指定返回值。

位于return语句后面的代码在 return 语句所在的作用域下都不执行(如果 return 语句在一个函数体内,那么这个 return 语句所在的作用域便是这个函数体内)。

如果return语句后面没有跟返回值,那么返回值为undefined。适用于不需要返回值的场景中。


2.函数的参数

js中函数的参数跟别的语言函数的参数不同。

假如你定义了一个函数,有三个参数,在的调用这个函数的时候,你可以不传入参数,你也可以传入2个3个4个参数,

原因在于js中的函数的参数在内部是以一个数组(这个数组可能包含0个或者多个值)的形式表示的。

你可以通过arguments这个对象来访问函数的参数。arguments是一个数组对象。

如下面例子:

// js中函数的参数  arguments
function person(name,age,height){
console.log("姓名" + arguments[0] + "年龄" + arguments[1] + "身高" + arguments[2]);
console.log(arguments.length);
}
person("lijinwen",10,"180cm");
打印出如下值:
// 姓名lijinwen年龄10身高180cm
// 3

根据js函数的参数的这个特性,我们其实可以模仿函数的重载功能。即根据函数参数的个数不同,而得到不同的结果。但是这个并不是函数的重载。

// 模仿函数重载功能
function fun(){
if(arguments.length == 2){
console.log("两个参数");
}else if(arguments.length == 3){
console.log("三个参数");
}
}
fun(1,2);//两个参数
fun(1,2,3);//三个参数

3.函数没有重载。如果两个同名的函数,那么后面的函数将覆盖前面的函数。

// 函数没有重载
function sum(a,b){
console.log("两个参数");
}
function sum(a,b,c){
console.log("三个参数");
}
sum(1,2);//三个参数
sum(1,2,3);//三个参数

我们原本想如果往函数中传入2个参数,则调用第一个函数打印出”两个参数”,如果3个参数,调用第二个函数打印出”三个参数”。
看上面的代码sum(1,2)有2个参数,结果打印出“三个参数”,那么可以断定它调用的是第二个函数。
由此证明,多个同名函数的情况下,最后一个函数将会覆盖上面的同名函数。这种又称作重载,因此 js 中函数没有重载。

3.3 js函数的更多相关文章

  1. Js函数function基础理解

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  2. js函数表达式和函数声明的区别

    我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function ...

  3. 通用js函数集锦<来源于网络> 【二】

    通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...

  4. 通用js函数集锦<来源于网络/自己> 【一】

    通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...

  5. 100多个基础常用JS函数和语法集合大全

    网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统 ...

  6. JS函数

    1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏 ...

  7. js函数和运算符

    函数是由事件驱动或者它被调用时执行可重复使用的代码块. <script> function myFunction(){ Alert(“hello World!”): } </scri ...

  8. JavaScript学习03 JS函数

    JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...

  9. JSF页面中使用js函数回调后台bean方法并获取返回值的方法

    由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...

随机推荐

  1. 敏捷转型历程 - Sprint3 Grooming

    我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...

  2. charles工具抓包教程(http跟https)

    1.下载charles 可以去charles官网下载,下载地址:http://www.charlesproxy.com/download/    根据自己的操作系统下载对应的版本,然后进行安装,然后打 ...

  3. 亡命之徒aaaaaa.......chao

    前端是一个看似入门门槛不高,但要学好很难的领域.前端的知识体系庞杂又松散,技术演进快,如果摸不清脉络的话很容易陷入盲人摸象的困境甚至跑偏.其实只要掌握了正确的方法,学习前端和学好前端就只是个时间问题. ...

  4. Storm构建分布式实时处理应用初探

    最近利用闲暇时间,又重新研读了一下Storm.认真对比了一下Hadoop,前者更擅长的是,实时流式数据处理,后者更擅长的是基于HDFS,通过MapReduce方式的离线数据分析计算.对于Hadoop, ...

  5. MVVM大比拼之AngularJS源码精析

    MVVM大比拼之AngularJS源码精析 简介 AngularJS的学习资源已经非常非常多了,AngularJS基础请直接看官网文档.这里推荐几个深度学习的资料: AngularJS学习笔记 作者: ...

  6. [WinAPI] 获取窗口句柄的几种方法

    1.使用FindWindow函数获取窗口句柄 示例:使用FindWindow函数获取窗口句柄,然后获得窗口大小,并且移动窗口到指定位置. 我们想获得酷我音乐盒的窗口句柄并移动它,该怎么办呢? 首先打开 ...

  7. ABP框架实践基础篇之开发UI层

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 说明 其实最开始写的,就是这个ABP框架实践基础篇.在写这篇博客之前,又回头复习了一下ABP框架的理论,如果你还没学习,请查看AB ...

  8. 在ABP中创建Person实体类

    经过之前的准备目前我们的项目,终于可以搞正式的开发工作了. 创建实体Person 在Core类库中添加Person类 /// <summary> /// 联系人 /// </summ ...

  9. ABP框架 - 日志

    文档目录 本节内容: 服务端 获取Logger(记录器) Logger的基类 配置 Abp.Castle.Log4Net 包 客户端 服务端 ABP使用Castle Windsor的日志记录工具,它可 ...

  10. jQuery选择器中,通配符[id^='code']input[id$='code'][id*='code']

     1.选择器 (1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']&qu ...