JavaScript踩坑笔记02---函数、函数提升

函数:

函数的作用就是帮助我们执行代码,程序通过函数的调用,来执行代码。
JavaScript中,函数通过关键字function声明。
函数声明有两种方式,一种是函数本身的声明方式,还有一种是函数作为字面量的声明方式。
举例说明。

// 1.函数式声明
function sum1(n1, n2) {
	// n1,n2为函数的参数
	// return为函数的返回值
	// 参数和返回值可有可无,根据你的需求来定
	return n1 + n2;
}
// 2.函数表达式,又叫函数字面量
var sum2 = function (n1, n2) {
	return n1 + n2;
};
console.log(sum1(1, 2)); // 3
console.log(sum2(1, 2)); // 3

二者都函数的声明方式,都可以被正常的调用,但是二者还是有一些区别的。
函数表达式定义的函数会被当做一个变量,而变量是可以作为参数传递的,也就是说函数也可以作为参数传递

函数提升:

还有一个不同,我们举例说明。

// 在定义函数fn1前,调用函数fn1
fn1(); // 函数式声明
function fn1() {
	console.log("函数式声明");
}
// 在定义函数fn2前,调用函数fn2
fn2(); // TypeError: fn2 is not a function
var fn2 = function () {
	console.log("函数表达式声明");
};

以上例子可以说明,函数式声明的函数会在程序加载的时候就被JavaScript解析器解析,并且提升到代码顶端,所以可以在声明之前调用,这就是函数提升。
而函数表达式声明会被当做一个变量,只有当使用到这个变量时,才会被javaScript解析器解析,在解析器没有解析这个函数之前调用它,就会报错。


个人学习总结,欢迎批评指正

猜你喜欢

转载自blog.csdn.net/qq_43738157/article/details/84400338