js中Function引用类型常见有用的方法和属性详解


Posted in Javascript onDecember 11, 2019

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);
}

以上就是本次介绍的全部相关知识点,感谢大家的学习和对三水点靠木的支持。

Javascript 相关文章推荐
两种WEB下的模态对话框 (asp.net或js的分别实现)
Dec 02 Javascript
JQuery写动态树示例代码
Jul 31 Javascript
javascript在myeclipse中报错的解决方法
Oct 29 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
Feb 19 Javascript
纯JavaScript实现的分页插件实例
Jul 14 Javascript
jQuery插件简单实现方法
Jul 18 Javascript
js实现Select列表内容自动滚动效果代码
Aug 20 Javascript
js剪切板应用clipboardData实例解析
May 29 Javascript
深入了解js原型模式
May 30 Javascript
JavaScript实现秒杀时钟倒计时
Sep 29 Javascript
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
详解JavaScript中的this指向问题
Feb 05 Javascript
jQuery实现验证用户登录
Dec 10 #jQuery
这样回答继承可能面试官更满意
Dec 10 #Javascript
jquery实现弹窗(系统提示框)效果
Dec 10 #jQuery
微信小程序 this.triggerEvent()的具体使用
Dec 10 #Javascript
jQuery实现消息弹出框效果
Dec 10 #jQuery
jQuery实现弹出层效果
Dec 10 #jQuery
javascript实现弹出层效果
Dec 10 #Javascript
You might like
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
实例讲解PHP设计模式编程中的简单工厂模式
2016/02/29 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
Nodejs学习笔记之NET模块
2015/01/13 NodeJs
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
简单介绍Python中的几种数据类型
2016/01/02 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
在python中做正态性检验示例
2019/12/09 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
2020/07/20 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
综合测评自我鉴定
2013/10/08 职场文书
演讲稿格式
2014/04/30 职场文书
领导干部对照检查材料
2014/08/24 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
培训后的感想
2015/08/07 职场文书
小学毕业教师寄语
2019/06/21 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers