JavaScript 基础回顾——函数
在JavaScript中,函数也是一种数据类型,属于 function 类型,所以使用Function关键字标识函数名。函数可以在大括号内编写代码并且被调用,作为其他函数的参数或者对象的属性值。
1.命名函数的创建和使用
<script type="text/javascript">
function 函数名 (形参列表)
{
//执行语句
return 返回值;
}
</script>
2.函数的参数和返回值
与C#,java等语言相比,JavaScript函数的参数更具有灵活性,具体表现在以下6个方面:
(1)参数名可以重复,但通过参数名获取的值为实际传递参数的最后一个。如果实际传递参数值的个数少于重名参数的个数,则通过此参数名获取的值为undefined。
(2)即使声明了形参,调用时也可以不传递参数。
(3)无论包含多少个形参,传递实参可以和形参的个数不同。
(4)函数被调用时将创建一个 arguments 对象,负责管理参数。
(5)参数和返回值可以是包括 function 在内的任何类型。
(6)函数可以不需要 return 语句返回值,没有 return 语句时函数的返回值是undefined。
3.内部函数和匿名函数
在Javascript中,函数是一种数据类型,可以直接将函数赋给另一个变量,通过被赋值的变量同样可以调用该函数。在一个函数内部可以将另一个函数作为数据使用,即内部函数
(1)创建匿名函数
<script type="text/javascript">
//创建匿名函数
var fu = function (){ return a+b ; };
//通过变量名调用匿名函数
var a=1,b=2;
fn(a, b); //返回结果 3
</script>
(2)创建内部函数
<script type="text/javascript">
//创建内部函数
var fun = function (){
return function (){ return "我是内部函数给的值:代码里,www.daimali.com"; };
};
//调用内部函数的外部匿名函数
fun();
//调用内部函数
fun()();
</script>
来源:代码里
链接:http://www.daimali.com/index.php/2016/04/28/340/
JavaScript 基础回顾——函数的更多相关文章
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(一) 类型
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript基础回顾一(类型、值和变量)
请看代码并思考输出结果 var scope = 'global'; function f(){ console.log(scope); var scope = 'local'; console.log ...
- (Frontend Newbie)JavaScript基础之函数
函数可以说是任何一门编程语言的核心概念.要能熟练掌握JavaScript,对于函数及其相关概念的学习是非常重要的一步.本篇从函数的基本知识.执行环境与作用域.闭包.this关键字等方面简单介绍Java ...
- JavaScript基础学习-函数及作用域
函数和作用域是JavaScript的重要组成部分,我们在使用JavaScript编写程序的过程中经常要用到这两部分内容,作为初学者,我经常有困惑,借助写此博文来巩固下之前学习的内容. (一)JavaS ...
- Javascript 基础--JS函数(三)
一.基本概念:未完成某一个功能的代码(语句,指令)的集合. 二.函数的调用方式: 2.1.函数名(传递参数1,传递参数2) 基本语法 function 函数名(参数列表){ //代码; retur ...
- javascript基础(五)函数
原文http://pij.robinqu.me/ 通过call和apply间接调用函数(改变this) call 和 apply带有多个参数,call和apply把当前函数的this指向第一个参数给定 ...
随机推荐
- [Excel] WorkBook.SaveAs
ExcelApplication.WorkBook.SaveAs(Filename, FileFormat, Password, WriteResPassword, ReadOnlyRecommend ...
- 【C#】DataRowState演变备忘
环境:.net 2.0 DataRow的行状态一段时间不用就会吃不准,记录一下,备查. DataRowState 演变表 行属于如下状态时进行右边操作→ 后的状态演变 添加到表 dt.Rows.Add ...
- 深入研究Java类装载机制
目录 1.为什么要研究java类装在机制? 2.了解类装载机制,对于我们在项目开发中有什么作用? 3.装载实现细节. 4.总结 一.为什么药研究Java类装载机制 java类加载机制,便于我们使用自定 ...
- SOA的浅析
曾今SOA的概念犹如今日“云计算.大数据”一样,被炒得火热,不少企业便纷纷响应,并宣称会拥抱和实施SOA.而事实上,业界出现了两种极端:一种是由于各类文章和书籍关于SOA的描述往往太过抽象,再加上各大 ...
- 开发培训及技术研讨会PPT下载链接
8月到9月,我们做了一圈巡回演出,脚步踏遍祖国大江南北,包括沈阳.武汉.深圳.香港.上海和北京等几个城市,给大家带来Autodesk最新的云技术和桌面产品技术动态,得到了大家的热烈响应.感谢各位合作伙 ...
- Android log 管理工具
1.logger 项目地址: https://github.com/orhanobut/logger 2.KLog 项目地址:https://github.com/ZhaoKaiQiang/KLog ...
- Genymotion 解决虚拟镜像下载速度特别慢的问题
Genymotion号称Android模拟器中运行最快的,但是服务器在国外,Android镜像下载起来那个速度就不想说了. Add new device后下载速度太慢了,容易失败 解决方法如下: ...
- IOS开发之Bug--使用KVC的易错情况
1.其实某些角度而言KVC是一个破坏封装又暴力的做法,而我已经两次因为KVC而导致应用程序出现闪退的情况. 场景:1.使用KVC修改某一个UIView的属性,比如width. 2.在viewWi ...
- IOS-WebViewJavascriptBridge使用说明
下面来说一下WebViewJavascriptBridge在ios端怎么样使用. 首先确保一份已经配好功能的html文件. 1.初始化一个webview(viewdidload) UIWebView* ...
- Play Framework 完整实现一个APP(三)
1.添加Post类 package models; import java.util.*; import javax.persistence.*; import play.db.jpa.*; @Ent ...