[TOC]
>[info]函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。(将完成某一特定功能的代码集合起来,可以重复使用的代码块。)
**优点**
1. 使程序更加简洁
2. 逻辑更有条理
3. 调用更方便
4. 维护更加容易
## 函数的创建
### 基本语法
~~~
<script type="text/javascript">
function myFunction(){
alert("Hello World!");
}
</script>
~~~
### 字面量定义
~~~
<script type="text/javascript">
var myFunction = function () {
alert("Hello World!");
}
</script>
~~~
## 函数的调用
>[info]通过括号来调用:函数名()
>[info]通过触发事件来调用
~~~
<script type="text/javascript">
var myFunction = function () {
alert("Hello World!");
}
myFunction();
</script>
<div id="box" onclick="myFunction()"></div>
~~~
** 注意事项**
1. 如果两个函数的命名相同,后面的将会覆盖前面的函数。
2. 以基本语法声明的函数,会在页面载入的时候提前解析到内存中, 以便调用。所以可以在函数的前面调用。但是以字面量形式命名的函数,会在执行到他的时候,才进行赋值。 所以只能在函数的后面调用
3. 在不同的<script></script>块中,因为浏览器解析的时候是分块 解析的,所以前面的块不能调用后面块的函数,所以在不同的块 之间调用函数的时候,应该先定义后调用。
## 函数的参数
>[info]在调用函数时,您可以向其传递值,这些值被称为参数。这些参数可以在函数中使用。
您可以发送任意多的参数,由逗号 (,) 分隔:
~~~
<script type="text/javascript">
myFunction(argument1,argument2)
//实参:调用函数的时候,在括号中传入的变量或值叫做 实参。
</script>
~~~
当您声明函数时,请把参数作为变量来声明:
~~~
<script type="text/javascript">
function myFunction(var1,var2){
//形参:在定义函数的时候,函数括号中定义的变量叫做形参。用来接受实参的。
//这里是要执行的代码
}
</script>
~~~
## 函数返回值
>[info]有时,我们会希望函数将值返回调用它的地方。通过使用 return 语句就可以实现。在使用 return 语句时,函数会停止执行,并返回指定的值。
~~~
<script type="text/javascript">
function myFunction(){
var x=5;
return x;
}
var myVar=myFunction();//这里可以接到函数的返回值5;
</script>
~~~
>[danger]注意:如果函数没有返回值,那么这个函数的值就会自动的赋值为undefined,函数中可以写多个return,遇到一个return就会停止执行。
## 变量的作用域
>[info]作用域:指变量在代码中的作用范围。
### 全局变量
>[info]在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
### 局部变量
>[info]在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
~~~
<script type="text/javascript">
var xbs ="学并思";//全局变量
function myFunction(){
var x=5; //局部变量
y = 10; //全局变量
return x;
}
var myVar=myFunction();//这里可以接到函数的返回值5;
alert(x);//函数外不能使用局部变量
alert(y);//全局变量,到处可以使用
</script>
~~~
### 函数执行顺序
>[info]一个函数定义后,不调用是不会自动执行的。
如果在一个函数内遇到另外一个函数,会先执行另外一个函数,执行完之后再接着执行本函数。一个函数内部可以调用同一个函数。
- 序言
- 第一章:准备工作
- 写在学习之前的话
- web应用开发结构
- 开发工具/环境
- 第二章:展现层面(HTML/CSS)
- HTML简介
- HTML基础
- HTML编码
- HTML链接
- HTML图像
- HTML列表
- HTML表单
- HTML表格(分水岭)
- HTML 实体
- HTML框架
- CSS层叠样式表
- CSS选择器
- CSS文本/字体
- CSS继承和叠加
- CSS框模型
- CSS浮动(分水岭)
- CSS定位
- CSS背景
- CSS图标字体
- CSS补充
- 开发技巧
- 第三章:展现层面(Javascript)
- JS简介
- JS实现
- JS输出交互
- JS变量
- JS数据类型
- JS运算符
- JS流程控制(分水岭)
- JS函数
- JS数组
- JS对象(分水岭)
- JS数组对象
- JS字符串对象
- JS数学对象
- JS日期对象
- JS BOM对象(分水岭)
- JS DOM对象
- JS事件对象
- JS元素对象
- JS DOM节点
- 第四章:展现层面(Jquery)
- JQ简介
- JQ使用
- JQ选择器
- JQ筛选
- JQ属性
- JQ-CSS
- JQ事件
- JQ文档处理
- JQ效果
- JQ-ajax
- 第五章:逻辑/业务层面(PHP)
- PHP简介
- PHP变量
- PHP数据类型
- PHP常量
- PHP运算符
- PHP流程控制
- PHP函数(分水岭)
- PHP日期
- PHP数学
- PHP数组
- PHP字符串
- PHP正则表达式(分水岭)
- PHP目录操作
- PHP文件
- PHP上传/下载
- PHP面向对象(分水岭)
- PHP图像处理
- PHP会话控制
- Ajax异步处理
- PHPMysql扩展
- PHPMysqli扩展
- PHPPdo扩展
- PHP接口
- PHP命名空间
- 第六章:逻辑/业务层面(框架设计)
- 第七章:存储层面(mysql)
- Mysql基础
- Mysql Sql简介
- Mysql数据库
- Mysql数据类型
- Mysql数据表
- Mysql操作记录
- Mysql查询
- Mysql修改表结构
- Mysql日期与时间
- Mysql分组统计
- Mysql多表查询
- Mysql安全
- Mysql存储引擎
- Mysql事务
- Mysql视图
- Mysql触发器
- Mysql存储过程
- Mysql存储函数
- Mysql优化
- 第八章:服务器(Linux)
- Linux介绍与安装
- Shell
- 目录与文件操作
- VIM编辑器使用
- 帐号管理
- SUDO
- 权限控制
- 压缩与打包
- 软件安装
- 计划任务
- 进程管理
- 宝塔Linux面板