重读JavaScript:函数(一)

  感觉自己的基础不够扎实,所以总结下JavaScript的重点。  
  
  在别的语言中,对象会是重点,但在js中函数可能是最重要的,因为js不是面相对象,而是基于对象的,js中函数是第一型对象。

   函数声明和函数表达式:

    

// 函数声明
function person() {
    //code
}
// 函数表达式
var person=function () {
    //code
}

  两个函数在使用时都会执行,但还是会有小的差别。函数声明的name属性为‘person’,而函数表达式的name属性是“”。函数声明会在代码执行前就提升到顶部,无论调用在前或者在后都会可以执行。但函数表达式不会提升到顶部,所以如果在表达式前就调用函数,会报错。除了调用和name这个部分会有一点差别,这两个方式就没有什么区别。有的地方还有的会用两个结合的(红宝书中也写过,但是safari会报错),所以使用函数声明是比较科学的方法。

  匿名函数:

  匿名函数可以在函数后面加小括号直接执行。匿名函数使用场景,直接给事件绑定或者创建某个对象的方法,作为回调传给定时器等函数。

  作用域:

  在js中,作用域是由函数创建的,而不是代码块。声明的作用域创建于代码块,但不是终结于代码块。

  函数调用:

  常见函数调用,作为函数进行调用(包括作为某个对象的方法,作为函数其实就是作为window的方法)和作为构造器进行调用(创建型的对象)。在js调用时候如果传入函数的参数和形参数量不一致也不会报错(也有办法获取他们 this和arguments)。

  

  

  

  

 

转载于:https://www.cnblogs.com/upcircle/p/5065863.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值