在JavaScript中,函数是非常重要的一部分,本文将从多发个方面来解析了解函数。那么首先我们要先知道什么是函数?简单来说,函数是一段可以反复调用的代码块,可以用来帮助我们封装、调用代码!
函数的声明
在了解了函数存在的意义和作用后,我们要怎样才能得到一个函数呢?函数的声明一共有五种方法,接下来我们来详细了解一下。
- 具名函数
function x(input1,input2){
return
}
其中,function是关键字不可以更改,x是函数名,如果不写return,会自动补全为return undefined
。
- 匿名函数(把没有名字的函数赋值给变量)
var x = function(input1,input2){
return
}
- 把有名字的函数赋值给变量
var x = function y(input1,input2){
return
}
这种方法与具名函数的区别是,具名函数可直接打印出函数如图一,而这种方法打印出的却是报错如图二。其原因是两者的作用域不一样。
图一
图二
- window.Function函数对象
f = new Function('x','y','return x + y')
- 最炫的方式登场!箭头函数
f = (x,y) => {return x + y}
name属性
函数中的name属性各种情况如图三:
图三
如何调用函数?
函数中的call属性可以用来调用函数。调用函数一定要加(),如f.call(undefined,x,y);
如果直接写函数名不加()是不可以调用的,函数不会被执行。返回值为原始值(数字,字符串,布尔值)的this会指向该原始值的自动包装对象。
this和arguments
什么是this?call的第一个参数可以用this得到
什么是arguments?call后面的参数可以用arguments得到,得到的是除第一个参数外所有参数组成的伪数组。
闭包
如果一个函数使用了它范围外的变量,那么这个函数+这个变量就叫做闭包。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。