js函数小结

普通函数,普通函数需要声明才能触发,存在声明提升,也叫函数声明式,this指向window

f1()   //声明提升

function f1(){

console.log('普通函数');

}

f1()    //函数声明


 

匿名函数,也叫函数表达式。匿名函数就是没有名字的函数,需要用括号括起来才能使用,匿名函数不存在声明提升,this指向window

(function (){

  console.log('匿名函数');

})()

也可以使用运算符来代替括号,加括号和运算符就想当于将匿名函数变成了函数表达式,函数表达式也是匿名函数、立即执行函数的一种

+function (){

  console.log('匿名');

}()

函数表达式,也叫匿名函数

var a=function f1(){

 alert('表达式');

}

a()


 

立即执行函数,也叫自调用函数。匿名函数使用立即执行函数需要用括号包裹起来,或者在前面加运算符,使用函数表达式就可以直接在尾部加括号立即调用

(function f1(){

  console.log('立即执行1')

}())

+function(){

  console.log('立即执行2')

}()

var aa=function (){

  console.log('立即执行3');

}()



 

回调函数。将一个函数作为参数传递给另一个函数,就是回调函数

function f1(a,b){

console.log(a);

console.log(b);

}

function f2(){

  console.log('回调');

}

f1(1,f2)

构造函数 ,需要使用new来创建实例化对象,没有实例化对象就是普通函数,构造函数的this指向实例化对象

function f1(){

  this.name='张三'

}

//原形上的方法

f1.prototype={

  a:function(){

    console.log('我是a');

  },

  b:function(){

    console.log('我是b');

  }

}

//实例化对象

var obj = new f1()

console.log(obj);

console.log(obj.name);

//原形上的方法需要调用才能执行

obj.a()

obj.b()


 

箭头函数,箭头函数没有arguments,this指向为父级上下文的this指向

var f1=((a,b)=>{

   return a+b

})

只有一个参数的时候可以省略括号,没有参数或者有很多参数的时候就要加括号

var f1=(a=>{

  return a

})

函数体只有一行的时候可以省略大括号{}

var f1 = (a,b) => a + b   //相当于return a+b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值