三种函数定义
1、命名函数定义
function abc(){
console.log(“a”);
}
var fn=abc; //把函数abc地址赋值传给fn
fn(); // 或者 abc(); => 执行函数
// abc是函数名
2、匿名函数定义
// 匿名函数没有名字
// 可以设置给一个变量,或者设置给一个对象的属性
// 命名函数可以在函数定义之前(同一个script内)和之后(script标签可以相同,可以不同)执行,但是匿名函数只能在函数定义后执行
变量匿名函数
var fn=function(){
}
对象方法定义
var obj={
fn:function(){
}
}
自执行函数 // 缺点:只能执行一次,无法再次调用,会造成内存泄漏
(function(){
})();
3、构造函数定义
var fn=new Function(“参数1”,“参数2”,…“函数内容”)
// 构造函数中,前面的内容就是这个创建函数的所有参数,最后一个内容就是这个函数执行语句块
// 要求所有内容都必须是字符串
// 缺点:构造函数创建函数缺点是运行速度慢,效率低,因为需要将所有的字符串转换为代码