Function类型

函数由于是Function类型的一个实例,所以函数名就是一个指向函数对象的指针,不会与某个函数死死的连接在一起,这也导致了js中没有真正的重载,但好处是,函数对象可以作为另一个函数的参数或是返回值;

访问一个函数对象的指针而不是执行函数本身不能加括号

var func = new Function("x", "y", "return x + y");// 构造函数来实例化一个Function类型, 但不推荐使用
function func(x, y){
return x + y;
}// 函数声明 js引擎会将所有的函数声明提升到顶部
var func = function (x, y){ return x + y };// 函数表达式 变量的赋值, 变量func保存着 function(x, y){ return x + y} 这个对象

Function类型中,有两个特殊的对象:arguments和this , 前者里面有传入函数中所有的参数,还有一个callee属性,这是个指针指向拥有这个属性的Function实例;而this这个指针指向执行环境,也就是Global类型的一个实例. 在浏览器中是一个窗口.

function b(){
console.log(arguments.callee);
}

Function类型的属性和方法

length // Funciton实例期望接收形式参数的个数
prototype // apply();// 非继承的方法
// apply(Function实例运行的作用域:this, Array实例或arguments) call();// 非继承的方法
// call(Function实例运行的作用域:this, arg1, arg2, ...) // bind( X );// 将Function的实例的this指向 对象 X

除此之外,Function类型中还有一个特殊的属性:caller,这是个指针,在严格模式下不能对这个属性赋值.

Function类型一个实例a调用了Function类型的另一个实例b, 那么实例b中的caller属性就会指向实例a;

function a(){
b();
}
function b(){
console.log(arguments.callee.caller);
}

最新文章

  1. C#测试题
  2. Redis——学习之路一(初识redis)
  3. angularJS 杂
  4. 架构系列:ASP.NET 项目结构搭建
  5. 借助magicwindow sdk plugin快速集成sdk
  6. 菜鸟学Linux命令:tail命令 查看日志
  7. ES6入门之Iterator和for...of
  8. Android:DES加密
  9. 开启MYSQL远程连接权限
  10. 动态规划 HDU 1176
  11. Hadoop 1、在虚拟机上进行 HDFS 安装
  12. Android - JNI静态(static)载入OpenCV
  13. OC版二分查找
  14. 移动硬盘/U盘装Windows 7旗舰版(VHD版)
  15. random模块函数分析(一)
  16. NumPy 超详细教程(2):数据类型
  17. 转载 Flask中客户端 - 服务器 - web应用程序 是如何处理request生成response的?
  18. scrapy-redis(调度器Scheduler源码分析)
  19. postman 做接口测试之学习笔记
  20. 流媒体技术学习笔记之(二)RTMP和HLS分发服务器nginx.conmf配置文件(解决了,只能播放RTMP流而不能够播放HLS流的原因)

热门文章

  1. 05_配置交换机SSH服务(数通华为)
  2. ava js 测试框架基本试用
  3. [转]Reids配置文件redis.conf中文详解
  4. 用户路径分析(User Path Analysis)
  5. Fluent Meshing分离边界层网格
  6. 年轻人的第一个自定义 Spring Boot Starter!
  7. Element + Vue I18n动态import加载国际化语言包翻译文件
  8. SEAndroid
  9. Kafka的安装与使用(转)
  10. sumdoc t411 dir.txt