javascript学习笔记(四)学习笔记(四)function函数部分函数部分
本文主要介绍了函数的调用方式、返回函数的函数、创建匿名函数、javascript创建动态函数、回调函数、方法
和函数的区别、js全局函数、函数的几个作用、prototype属性、高阶函数,非常实用,有需要的参考下
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
Jscript 支持两种函数:一类是语言内部的函数(如eval() ),另一类是自己创建的。
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
函数的调用方式
1、普通调用:functionName(实际参数...)
2、通过指向函数的变量去调用:
var myVar = 函数名;
myVar(实际参数...);
返回函数的函数
1. 当函数无明确返回值时,返回的值就是"undefined"。
2. 当函数有返回值时,返回值是什么就返回什么。
我们可以通过使用 return 语句实现将函数返回调用它的地方。
在使用 return 语句时,函数会停止执行,并返回指定的值。
函数通常会返回一个唯一值,那么这个值也可能是另一个函数:
复制代码 代码如下:
<script type="text/javascript">
var box = function(){
var a=1;
return function(){
alert(a++)
}
}
alert(box());//弹出"function(){alert(a++)}"
</script>
在这里,我们只需将返回值赋值给某个变量,然后就可以像使用一般函数那样调用它了:
复制代码 代码如下:
<script type="text/javascript">
var box = function(){
var a=1;
return function(){
alert(++a)
}
}
var newFunc = box();
newFunc();//2
</script>
如果想让返回的函数立即执行,亦可以使用box()()来执行这段代码。
ECMAScript所有函数的参数都是按值传递的,言下之意就是参数不会按引用传递。
PS:如果存在按引用传递的话,那么函数里的那个变量将会是全局变量,在外部也可以访问。
(1)值类型:数值、布尔值、null、undefined。
(2)引用类型:对象、数组、函数。