6.1 Javascript:事件与回调函数
来源:互联网 发布:花与剑 js 编辑:程序博客网 时间:2024/06/06 10:39
事件
当页面要发生一些事情或做一些事情时,我们称其为事件。事件是网页自带的属性,如click、mousemove、load等。
响应某个事件的函数则称为事件处理程序,或者叫做事件侦听器。
回调函数
调函数,,指一个函数A被作为参数传递给另一个函数B,回调函数A会在函数B内被调用(或执行)。回调函数的本质是一种模式,因此回调函数也被称为回调模式。在这里,函数A被称为回调函数
深度理解
函数也只不过是个值,要么返回一个值,要么为空值
所以把它当成一个数据来处理即可
例:
另一种声明函数的方式
var showName=function(name){//函数名称即为变量名称 alert("Your name is "+name+", your number is "+outValue()); //在这里,函数主体outValue即是变量值 //采用这种表达方式时,又称为函数字面量 }//当函数主体单独出现而没有名称时,被称为函数字面量
var name=showName;
通过这句代码,可以看出,函数可以像变更般操纵
说白了,函数只是一个值引用到函数主体的变量
函数的调用与引用
调用函数:
var value=outValue();//outValue()为调用一个函数(也是函数字面量)
引用函数
var value=showName;//其实,showName是指向一个函数主体的引用
事件,回调,与HTML属性
回调函数最常用于处理事件
利用Html属性联结回调函数与事件
<body onload="showName();"> <img src="..." onclick="showImage()"/></body>
onload是Html标签的属性,它的作用是把showName()函数与onload事件联结
onclick是Html标签的属性,它的作用是把showImage()函数与onclick事件联结
利用函数引用,分离Html与Javascript代码
使用函数引用设定回调函数
window.onclick=showName;
onclick是window对象的属性,showName为函数引用
当onlick事件被触发后,将执行showName引用所指向的函数
这些代码完全可以在Javascript中书写代码,使得Html与Jvavascript代码分离
通过函数字面量来传递参数
使用函数字面量作为函数引用,而后从函数字面量内调用相应的回调函数
function helloName(name){ //输出“Hello WeAreZero”的带参函数 alert("Hello "+name); }window.onclick=function(evt)//函数字面量function()作为函数引用指派给onclick事件{ //在这里,函数字面量function(evt)完成了对helloName()的调用 helloName("WeAreZero"); }
在这里,函数字面量是一个没有名字的函数,所以又叫匿名函数
evt参数将事件对象作为参数传递给事件入事件处理器,但在这里没有用到evt参数
总结
将事件与函数联结,并实现Html代码与Javascript代码分离,不仅利于代码直观性与维护,而且函数会使你Javascript的本领更上一层楼!
- 6.1 Javascript:事件与回调函数
- C#委托,事件与回调函数
- C#委托,事件与回调函数
- C#委托,事件与回调函数
- C#委托,事件与回调函数
- node.js回调函数与事件
- nodejs回调函数与事件
- 理解与使用Javascript回调函数
- javascript回调函数
- javascript 回调函数
- javascript 回调函数
- javascript回调函数
- javascript 回调函数
- Javascript 回调函数
- javascript回调函数
- javascript回调函数
- JavaScript回调函数
- javascript 回调函数
- Viewpager+Fragment滑动更改ListView数据和设置title文字的变化
- OS存储器管理(二)
- MySQL安装、配置和使用(二)
- DICOM-RT:DICOM3.0标准中关于放疗的基本知识点
- 简单理解通知注册与调用
- 6.1 Javascript:事件与回调函数
- Trace the process of the start of Linux
- OAuth2.0认证和授权原理
- 欢迎使用CSDN-markdown编辑器
- POJ 3398 Perfect Service(树形DP)
- 算法起步(2)
- 多线程 : 读写锁实现缓存系统
- Computing Classification Evaluation Metrics in R
- java学习笔记-集合