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