在编程语言中,函数是每种语言必不可少的一部分,那么今天就和大家一起分享一下我对js函数的一部分简单的理解吧。
Js函数有两种定义方式:
1、函数声明定义:
形式:
function 函数名 (形式参数) {
函数体;
return 返回值;
}
调用的时候只要在函数名后边将实际参数传递上去即可。
2、函数表达式定义
顾名思义,这是一种表达式的定义方法
形式:
var f1 =function(形式参数) {
函数体;
return 返回值;
};
注意,这其实就是定义了一个变量f1,并且给f1赋值的语句,只不过这个“值”是一个函数,既然是语句,它的结尾当然是以" ; "结尾的。
函数分为命名函数和匿名函数,只不过是函数有没有名字的区别,这里就不过多的解释。我们说一些其他好玩的。
从函数可以通过表达式的定义方法可见,函数也是可以当作变量来用的。
那么函数有没有自己的数据类型呢?刚开始接触JS大家都比较熟悉六大数据类型:undefined、null、str、num、boolean、object
那么函数是不是一种数据类型呢,
function f1(){
return 0;
}
console.log("函数的数据类型:"+typeof(f1));
可见函数也是数据类型的一种,那么既然也是一种数据,函数本身可不可以当作参数一样传来传去呢
就用一下的代码块来实现这个想法:
function f1 (fn) {
console.log("f2函数可以被啊当作参数传进f1吗?");
fn();//此时fn()就是f2()函数
}
function f2() {
console.log("f2可不可以传进f1函数里边?");
}
f1(f2);//将f2当作参数;
可见函数也是可以被当作参数传来传去的。这样的形式我们也有一个很“高大上”的名字——“回调函数”;
每种语言中,函数的应用方式千变万化,JS作为一个更加灵活多变的语言,其函数的形式更加多样,还有好多我们没有学习到的形式及其变化形式。