3.3 js函数
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函数的更多相关文章
- Js函数function基础理解
正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...
- js函数表达式和函数声明的区别
我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function ...
- 通用js函数集锦<来源于网络> 【二】
通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...
- 通用js函数集锦<来源于网络/自己> 【一】
通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...
- 100多个基础常用JS函数和语法集合大全
网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统 ...
- JS函数
1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏 ...
- js函数和运算符
函数是由事件驱动或者它被调用时执行可重复使用的代码块. <script> function myFunction(){ Alert(“hello World!”): } </scri ...
- JavaScript学习03 JS函数
JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...
- JSF页面中使用js函数回调后台bean方法并获取返回值的方法
由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...
随机推荐
- Openstack Periodic Task
Openstack Periodic Task 周期性任务在各个模块的manager.py(computer,scheduler,cell,network)中添加. 添加方法:在模块manager类实 ...
- Android,适合Restful网络请求封装
借助volley.Gson类库. 优点 网络请求集中处理,返回值直接为预期的对象,不需要手动反序列,提高效率,使用时建立好model类即可. 使用效果 DataProess.Request(true, ...
- CSharpGL(29)初步封装Texture和Framebuffer
+BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...
- JavaScript 闭包深入浅出
闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...
- [Java面经] 关于面试的二三事.
今天终于闲下来了, 那么也好总结下这几天面试的经历.四天的时间一共面了七家, 有一家是自己推迟了没有去.声明:如若转载请注明出处:http://www.cnblogs.com/wang-meng/p/ ...
- [CentOs7]搭建ftp服务器(2)——添加用户
摘要 上篇文章完成了ftp服务器的安装与匿名访问的内容,当然出于安全的考虑是不允许匿名访问服务器的,所以就有了本篇的内容 ,为ftp服务器添加用户,用改用户进行访问. vsftpd添加用户 FTP用户 ...
- 关于安卓6.0权限申请 PermissionDog
最近在一家公司实习,项目中需要用到适配安卓6.0以上的系统,我本来是想用其他人已经写好的权限申请框架来实现的,但是发现跟我的需求有点小区别,所以就自己写了一个 这个权限申请的帮助类很小,只有一个jav ...
- 基于Caffe的DeepID2实现(上)
小喵的唠叨话:小喵最近在做人脸识别的工作,打算将汤晓鸥前辈的DeepID,DeepID2等算法进行实验和复现.DeepID的方法最简单,而DeepID2的实现却略微复杂,并且互联网上也没有比较好的资源 ...
- IL指令详细表
名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...
- PHP MVC 架构
PHP高级程序设计 学习笔记 2014.06.18 MVC (Model-View-Controller,模型-视图-控制器)是一种可以简化应用程序开发和维护的非常常用的设计模式.它从逻辑上把应用程序 ...