JS中创建函数的三种方式
JS中创建函数的三种方式
匿名函数
解析器会先读取匿名函数,并使其在执行任何代码之前可以访问;
// 创建匿名函数
function sum() {
console.log("你好");
}
命名函数
命名函数也叫函数表达式,把一个函数赋值给一个变量。
函数表达式等到解析器执行到它所在的代码行才会真正被解释执行。
var sum = function(s1, s2) {
console.log(s1+s2);
}
自执行函数
自执行函数严格来说也叫函数表达式,它主要用于创建一个新的作用域,在此作用域内声明的变量,不会和其它作用域内的变量冲突或混淆,大多是以匿名函数方式存在,且立即自动执行。缺点是只能执行一次,无法多次执行。
(function(){ console.log("你好"); })();
构造函数
var sum = new function("s1", "s2", "return s1+s2");
console.log(sum(1, 2)); // 3
构造函数中,前面的内容就是这个创建函数的所有参数,最后一个内容就是这个函数执行语句块,并且要求所有内容都必须是字符串
缺点,构造函数创建函数缺点是运行速度慢,效率低,因为需要将所有的字符串转换为代码,影响性能。