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做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...
随机推荐
- IOS开发基础知识--碎片51
1:https关闭证书跟域名的验证 AFSecurityPolicy *securityPolicy = [AFSecurityPolicy defaultPolicy]; securityPolic ...
- 15个C++项目列表
实验楼上有很多C++的实战项目,从简单到进阶,学习每个项目都可以掌握相应的知识点. 如果你还是C++新手的话,那么这个C++的项目列表你可以拿去练手实战开发,毕竟学编程动手实践是少不了的! 如果你不知 ...
- Spark-shell和Spark-Submit的使用
Spark-shell有两种使用方式: 1:直接Spark-shell 会启动一个SparkSubmit进程来模拟Spark运行环境,是一个单机版的. 2:Spark-shell --master S ...
- SQL开发技巧(二)
本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列文章基于SQLServer系列,且版本为SQLServer2005及以上-- 文章系列目录 SQL开发技巧(一) SQL开 ...
- Maven(一)环境搭建
网上已经有很多Maven学习的笔记和文章了,但是不自己亲自玩一玩,踩踩坑,证明不了自己到底能不能搞定它! 今天自己亲自搭建了一下环境,感觉基本的使用应该是可以满足了. 使用背景: 安装环境:Windo ...
- tornado session
[转]tornado入门 - session cookie 和session 的区别: 1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以 ...
- .NET 程序集单元测试工具 SmokeTest 应用指南
Smoke Test(冒烟测试),也称Regression Test(回归测试),是对软件的安装和基本功能的测试.一般地我们使用脚本来实现Smoke Test的自动化,可借用虚拟机的snapshot机 ...
- 通过一个实例理解 offsetLeft,offsetTop; offsetWidth , offsetHeight
obj.offsetTop 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型 obj.offsetLeft 指 obj 相对于版面或由 offsetParen ...
- 一行代码引入 ViewPager 无限循环 + 页码显示
(出处:http://www.cnblogs.com/linguanh) 前序: 网上的这类 ViewPager 很多,但是很多都不够好,体现在 bug多.对少页面不支持,例如1~2张图片.功能整合不 ...
- JavaScript学习总结(二)——闭包、IIFE、apply、函数与对象
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...