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. 手机游戏渠道SDK接入工具项目分享(二)万事开头难

    一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ...

  2. java中的内部类总结

    内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动) 显然, ...

  3. 项目游戏开发日记 No.0x00000

    14软二杨近星(2014551622) ---恢复内容开始--- 2016-03-17 从开始迈进软件工程专业, 已经快两年了, 记得当初选择软件的理由是, 我要学去做东西, 我享受开发过程. 两年来 ...

  4. [异常特工]android常见bug跟踪

    前言 对app的线上bug的收集(友盟.云捕等)有时会得到这样的异常堆栈信息:没有一行代码是有关自身程序代码的.这使得对bug的解决无从下手,根据经验,内存不足OOM,Dialog关闭,ListVie ...

  5. 一步步开发自己的博客 .NET版 剧终篇(6、响应式布局 和 自定义样式)

    前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做 ...

  6. 赠书:HTML5 Canvas 2d 编程必读的两本经典

    赠书:HTML5 Canvas 2d 编程必读的两本经典 这两年多一直在和HTML5 Canvas 打交道,也带领团队开发了世界首款基于HTML5 Canvas 的演示文档工具---AxeSlide( ...

  7. Leetcode 笔记 113 - Path Sum II

    题目链接:Path Sum II | LeetCode OJ Given a binary tree and a sum, find all root-to-leaf paths where each ...

  8. 用java开发微信公众号:接收和被动回复普通消息(三)

    上篇说完了如何接入微信公众号,本文说一下微信公众号的最基本功能:普通消息的接收和回复.说到普通消息,那么什么是微信公众号所定义的普通消息呢,微信开发者文档中提到的接收的普通消息包括如下几类: 1.文本 ...

  9. [Mahout] 完整部署过程

    概述        Mahout底层依赖Hadoop,部署Mahout过程中最困难的就是Hadoop的部署      本文假设用户本身没有进行Hadoop的部署,记述部署Mahout的过程       ...

  10. ABP框架 - 介绍

    文档目录 本节内容: 简介 一个快速示例 其它特性 启动模板 如何使用 简介 我们总是对不同的需求开发不同的应用.但至少在某些层面上,一次又一次地重复实现通用的和类似的功能.如:授权,验证,异常处理, ...