什么是函数
类似java中的方法,是一个可以可复用的代码块,具有特定的声明和使用规则。
创建函数
在ECMAScript中函数有以下几种创建方式
第一种
function函数名称(参数列表){
函数体;
}
第二种
var函数名称=function(参数列表){
函数体;
}
第三种
Var函数名称=new Function(参数列表,函数体);
以上操作,都可以创建函数,我们只要求掌握第一种与第二种,对于第三种大家了解就可以。
调用函数
函数可以通过其名字加上括号中的参数进行调用。
示例1
type="text/javascript">
//使用function函数名称(参数列表){}方式来创建函数
function add(a, b) {
alert(a + b);
}
//调用函数
add(10, 20);
示例2
type="text/javascript">
//使用var函数名称=function(参数列表)来创建函数
var add = function(a, b) {
alert(a + b);
}
//函数调用
add(10, 20);
示例3
type="text/javascript">
var add = new Function("a","b", "alert(a+b)");
add(10, 20);
问题:如果我们在调用函数时,使用add(1,2,3,4)是否会出现问题哪?
如果是在java中我们这样调用一定会有问题的,但是对于javascript来说,是不会有问题的。
简单的说,也就是函数调用时传递的参数不一定要与函数声明时的参数个数一致。
问题:如果调用时传递的参数与函数定义时参数个数不一致,那么我们在函数中如果获取多余的参数哪?
在javascript中有一个特殊的对象arguments,我们可以通过它来获取所有函数中的参数。
type="text/javascript">
//创建函数
function add(a, b) {
//在函数中如果要获取所有参数列表中的信息可以使用argument来操作
for(vari=0;i
alert(arguments[i]);
}
}
add(1,2,3,4);
函数参数与返回值
在java中我们定义一个方法,如果这个方法有返回值,我们必须做到以下两点:
1.在方法声明时,必须声明其返回值类型,如果无返回值需要使用void。
2.方法有返回值,在方法中需要使用return来返回结果。
那么我们在javascript中应该怎样处理一个函数的返回值哪?
对于javascript来说,我们不必须在创建函数时,来声明其返回值类型,无返回值也不需要使用void来声明,但是,如果一个函数要想返回结果,我们在函数中必须使用return来返回结果。
type="text/javascript">
//创建函数
function add(a, b) {
//返回a与b的和
return a+b;
}
//在调用函数时,我们就可以直接使用一个变量来接收函数的返回结果
var sum=add(1,2,3,4);
alert(sum)
Javascript全局函数介绍
Javascript事件介绍
事件通常与函数配合使用,这样我们可以通过发生的事件来驱动函数执行.
常见事件:
事件绑定
在javascript中事件经常与函数一起使用,那么我们介绍一下怎样将一个事件与函数绑定到一起,简单说,就是某个事件被触发后,函数如果被调用。
1.html事件属性
onclick="displayDate()">点击这里
2.html dom分配事件
document.getElementById("myBtn").onclick=function(){displayDate()};
阻止默认事件
if(e&&e.stopPropagation){
e.preventDefault();
}else{
window.event.returnValue = false;
}
阻止事件传播
if(e&&e.stopPropagation){
e.stopPropagation();
}else{
window.event.cancelBubble = true;
}
this关键字
this经过事件的函数进行传递的是html标签对象,即当前对象。
<input id="btn" name="btn" type="btn" value="btn123" onclick="fn(this)">
<script>
function fn(obj){
console.log(this.name);
}
</script>