函数的定义
1、函数声明
function fn_1() {
console.log('函数声明')
}
2、函数表达式
var fn_2 = function () {
console.log('函数表达式')
}
3、构造函数
var fn_3 = new Function('a', 'b', 'return a+b')
函数的调用
1、函数名
function fn_1() {
console.log('函数声明')
}
fn_1()
var fn_2 = function () {
console.log('函数表达式')
}
fn_2()
var fn_3 = new Function('a', 'b', 'return a+b')
console.log(fn_3(1, 2))
2、自调用
(function (a) {
console.log(a)
console.log('匿名函数')
})(1)
var fn_2 = function () {
console.log('函数表达式')
}()
(function fn_1() {
console.log('函数声明')
})()
3、call() apply()
function fn_1() {
console.log('函数声明')
}
fn_1.call()
4、在对象中调用函数
var obj = {
name: 'obj',
getName: function () {
console.log(name)
console.log(this.name)
}
}
obj.getName()
5、在数组中调用函数
var arr = [1, true, null, { name: 'name' }, function () { console.log(this) }]
arr[4]()
6、函数作为参数
function fn_4(x) {
return (x)
}
fn_4(function () { console.log('是函数也是参数') })
7、函数作为返回值
function fn_5(x) {
return x
}
console.log(fn_5(function () { console.log('是函数也是返回值') }))
var reusit = fn_5(function () { console.log('是函数也是返回值') })
reusit()