重操JS旧业第五弹:函数

函数在任何编程语言中起着非常重要的位置,因为他是功能的最小单元,在js中函数是一种类型 Function

1 申明与定义

显示声明:function cc(){};函数名其实是函数的一个指针,函数名某种意义上也就是function类型的一个变量,对于显示什么的函数,不管函数在文档什么位置都糊被js引擎预先加载到编译环境栈中;

也就是申明自动提前

函数表达式:var fun=function(){};对于表达式函数,起本质上变量指向了一个函数,但是呢,这个函数申明不会被提前加载到js引擎中提前编译

2 函数成员

this:this在js中是一个灵活多变的玩意儿,它指向的函数运行域对象,说起这个域对象其实是个比较难理解的东西;要理解this指向谁,只需明白谁调用了该函数,this就指向谁

argument:该对象存储了函数的所有形式参数,argument.callee该函数指向了函数本身,这个属性往往用于函数递归调用;

function sum(m){

  if(m>0){

    return m+argument.callee(m-1);

  }

  else{

    return 1;

  }

}

prototype:函数的原型对象,是函数的一个非常非常重要的成员

3 函数属性和方法

length:函数参数的个数

call:调用方式,var fun=sum;fun.call(this,*,*),这里第一个参数均为上下文this对象,在这里可以改变this的指向,对于函数的形式参数这里要求一一列举出来

apply:与call不同的是形式参数不用一一列举出来,如 func.apply(this,func.argument)

bind:bind与call和apply不同的是bind将函数又变成一个变量,且可以改变函数的this,如sum.bind(o);

 

4 函数的特性

函数不具有重载性

函数可以作为变量:作为函数的返回值,函数的形式参数;

 

js中函数作为面向对象程序设计具有非常重要的基础,而函数也是最为复杂的类型之一,其中函数嵌套,闭包,面向对象,继承,多态等待等。

 

转载于:https://www.cnblogs.com/rjjs/p/5865584.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值