js函数的四种调用方式
1.一般声明函数调用
function fun () {
console.log('具名调用')
}
fun()
2.作为对象方法调用
var obj = {
fun: function() {
console.log('作为对象方法调用')
}
}
obj.fun()
// 和 1 的区别是this的指向不同
3.通过apply()和call()调用
function fun(a, b) {
console.log(a,b,c,d)
}
var obj = {
c: 1,
d: 2
}
fun.apply(obj, ['3','4']) // '3' '4' 1 2
// 原本直接调用 fun 它的 this 指向是 window ,但是 apply 将 this 变成 obj
fun.call(obj, '3', '4') // '3' '4' 1 2
// call同理
4.通过new调用
var Obj = {
fun: function () {
console.log('new调用')
}
}
Obj obj = new Obj()
obj.fun()