avaScript 函数(笔记)

  JavaScript 是函数式编程语言,在JavaScript脚本中可以随处看到函数,函数构成了JavaScript源代码的主体。

一、定义函数

定义函数的方法有两种:

  • 使用function语句声明函数。
  • 通过Function对象来构造函数。

使用function来定义函数有两种方式:

//方式1: 命名函数
function f(){
//函数体
} //方式2: 匿名函数
var f = function(){
//函数体
}

  命名函数的方法也被称为声明式函数,而匿名函数的方法也被称为引用式函数或者函数表达式,即把函数看做一个复杂的表达式,并把表达式赋予给变量。

  使用Function对象构造函数的语法如下:

var function_name = new Function(arg1, arg2, arg3,) ……,argN, function_body)

  在上面语法形式中,每个arg都是一个函数参数,最后一个参数是函数主体(要执行的代码)。Function()的所有参数必须是字符串。

【示例1】在以下示例中,通过Funnction构造函数定义了一个自定义函数,该函数包含两个参数,在函数主体部分使用 document.write() 方法把两个参数包裹在 <h1> 标签中输出,显示效果如下所示:

<html>
<head>
<meta charset="utf-8">
<title>JavaScript 定义函数</title>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
</body>
</html>
var say = new Function("name", "say", "document.write('<h1>' + name + ':' + say + '</h1>');");
say("张三","Hi!");

【示例2】在实际开发中,使用function定义函数要比Function构造函数方便,且执行效率更高。Function仅用于特定的动态环境中,一般不建议使用。

var say = function(name, say){		//定义函数
document.write('<h1>' + name + ':' + say + '</h1>');
}
say("张三","Hi!"); //调用函数

【效果】

二、调用函数

  调用函数使用小括号运算符来实现。在括号运算符内部可以包含多个参数列表,参数之间通过逗号进行分隔。

【示例】 在以下示例中使用小括号调用函数f,并把返回值传递给document.write()方法。

function f(){
return "Hello, World!"; //设置函数返回值
}
document.write(f()); //设置函数,并输出返回值

【提示】

一个函数可以包含多个return语句,但是在调用函数时只有第一个return语句被执,且被return语句后面的表达式的值作为函数的返回值被返回,return语句后面的代码将被忽略掉。

三、函数参数

参数可以分为两种:形参实参

形参:就是在定义函数时,传递给函数的参数,被称为形参,即形式上参数。

实参:就是当函数被调用时,传给函数的参数,这些参数被称为实参。

【示例1】在以下示例函数中,参数a和b就是形参,而调用函数中的23和34就是实参。

function add(a,b){	//形参a和b
return a+b;
}
alert(add(23,24)); //实参23和24

【效果1】

函数的形参没有限制,可以包括零个或多个。函数形参的数量可以通过函数的length属性获取。

【示例2】针对上面函数可以使用以下语句读取函数的形参个数。

function add(a,b){ //形参a和b
return a+b;
}
alert(add.length) //返回2,形参的个数

【效果2】

最新文章

  1. 利用C# Winform做Windows系统任务栏
  2. Guava monitor
  3. IAR使用记录
  4. http://love3400wind.blog.163.com/blog/static/7963080120132794359703/
  5. Fisher information matrix笔记
  6. Log.i()的用法
  7. SQL2008--SQL语句-存储过程-触发器-事务处理-基本语法-函数
  8. c程序设计语言_习题1-11_学习单元测试,自己生成测试输入文件
  9. MVC小系列(九)【引入namespace】
  10. linux脚本之简单实例
  11. gcc的bug? c++模板类中友元函数的訪问权限问题
  12. 最新App Store审核10大被拒理由
  13. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)
  14. 小强学渲染之Unity Shader噪声应用
  15. Sublime Text 3 3143 注册码和遇到的PyV8无法下载问题
  16. VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法
  17. golang语言并发与并行——goroutine和channel的详细理解
  18. hdu 2544 最短路(两点间最短路径)
  19. JavaScript小例子
  20. 【20181031T2】几串字符【数位DP思想+组合数】

热门文章

  1. Leetcode之深度+广度优先搜索(DFS+BFS)专题-934. 最短的桥(Shortest Bridge)
  2. NOIp2018D1T2 货币系统【分析&amp;完全背包】
  3. SolidWorks学习笔记5创建基准面,基准线,基准点
  4. ciscn-华北赛区-Day1-Web2题解
  5. java 利用辗除法求两个整数的最大公约数和最小公倍数
  6. 从零开始,SpreadJS新人学习笔记【第5周】
  7. Centos 安装Pycharm 并移动到桌面。
  8. C++多线程基础学习笔记(八)
  9. cut,sort,awk,sed,tr,find,wc,uniq在Linux中的用法
  10. 基于FCN的图像语义分割