在JavaScript中,函数是“第一等公民“,意味着函数可以像其它类型的数据一样,作为其它函数的参数,或者作为其它函数的返回值(也就是说函数可以返回函数)。
函数的原型对象:Function.prototype,它是一个函数,在函数上可以使用call,apply方法。
Function.prototype.call
一个函数的call()方法接收两类参数,第一类参数是指定上下文的this变量;第二类是调用函数自身所需的参数,该类参数若有多个的话则已逗号分隔。
Function.prototype.apply
函数的apply()方法与call()方法类似,它接收两个参数,第一个参数也是指定上下文的this变量;第二个是一个数组,该数组由调用函数自身所需的参数组成。
通过上面call和apply的描述,可发现其异同之处:相同的是它们都可以在调用函数的时候修改函数的上下文this指向;不同的是提供参数的方式不同。
JavaScript的函数中还包含这一个特殊的对象arguments,它是一个类数组对象。
类数组,它具有length属性,可以借助其length属性来遍历函数所接收到的所有参数;不过也就仅此而已,它不是真正的数组,无法在arguments上调用其他数组所具有的方法,当然了如果将其转换为真正的数组后,数组方法对它也是适用的。
arguments这个类数组对象的内容大致如下:
['param1', 'param2', 'param3', 'length', 'callee']
它的前半段元素由函数接收到的参数组成,除此之外还有两个元素,一个是length属性,arguments.length表示函数当前接收到的参数个数;arguments.callee提供了调用当前函数的函数引用,但现在不建议使用了。
前面涉及到了函数调用时的上下文this变量,这个this总是在函数被调用的时候基于调用者调用它的方式设置的。
相关推荐
JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数...
JavaScript之函数(ppt).pdf
JavaScript函数(源代码).zip JavaScript分支语句(源代码).zip JavaScript基础语法(ppt).pdf JavaScript实现轮播特效(代码).zip JavaScript常用运算符和操作符总结(教辅).pdf JavaScript数组(源代码).zip ...
javascript函数式编程 javascript函数式编程 javascript函数式编程
JavaScript ES6函数式编程入门经典
java javascript javascript函数java javascript javascript函数java javascript javascript函数java javascript javascript函数java javascript javascript函数
C#与JAVASCRIPT函数的相互调用 C#调用JAVASCRIPT函数的调用 JAVASCRIPT调用C#函数的调用
javascript_函数大全,给各位分享下
JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)...
javascript高效编程和函数式编程指南书籍PDF,适合深入学习javascript
javascript常用判断函数大全 javascript常用判断函数 javascript常用判断函数
javascript函数速查javascript函数速查javascript函数速查javascript函数速查
javascript的函数的简单使用小实例
javascript之函数直接量(function(){})()
javaScript匿名函数
javascript常用函数集合 javascript常用函数集合 javascript常用函数集合
JavaScript函数式编程.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
js 函数 javaScript 自定义函数一览表 js 函数 javaScript 自定义函数一览表
简单介绍一下关于javascript的函数的使用。