函数概述:js中的函数是被定义一次,但可多次执行和调用的javascript代码块,js中的每一个函数都是Function类型的实例,js中的函数也是对象(函数对象),并能像其他普通对象那样操作和传递、与其他引用类型一样具有属性和方法.函数名实际上是指向函数对象的指针.
函数的创建:函数申明、函数表达式、new Function构造器
函数声明和函数表达式:
函数声明:
function 函数名(参数1,参数2,...){
...
}
备注:函数声明会被提前,所以在函数被定义之前也可以调用,但是不能立即调用 因为函数声明提前后相当于只留下一对括号而报错。
函数表达式:
Function构造器创建函数:
例如:Function构造器的的参数要写出字符串,最后一个参数是要执行的内容
备注:1、Function构造器内穿建的变量仍然是局部变量。测试如下:
2、Function构造器能拿到全局变量却拿不到它外层函数的变量。测试如下:
总结:
函数声明:
1、函数声明会被前置
2、不允许匿名<会报错>
3、不能立即调用(由于声明前置实际上相当于只留下一对括号 报错)
函数表达式:
1、不会被前置、允许匿名、能够立即调用。
函数构造器:
1、不会被前置、能够立即调用且没有函数名。