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 相关文章推荐
json 入门基础教程 推荐
Oct 31 Javascript
js jquery验证银行卡号信息正则学习
Jan 21 Javascript
Javascript实现重力弹跳拖拽运动效果示例
Jun 28 Javascript
javascript动态控制服务器控件实例
Sep 05 Javascript
node.js中的http.createClient方法使用说明
Dec 15 Javascript
jQuery使用post方法提交数据实例
Mar 25 Javascript
面向切面编程(AOP)的理解
May 01 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
Jul 28 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 Javascript
JavaScript中apply方法的应用技巧小结
Sep 29 Javascript
vue.js学习之UI组件开发教程
Jul 03 Javascript
vue项目中引入vue-datepicker插件的详解
May 14 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
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
php代码把全角数字转为半角数字
2007/12/10 PHP
PHP 输出简单动态WAP页面
2009/06/09 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
跟老齐学Python之不要红头文件(2)
2014/09/28 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
Python pandas库中的isnull()详解
2019/12/26 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
python 操作excel表格的方法
2020/12/05 Python
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
德国家具折扣店:POCO
2020/02/28 全球购物
汽车技术服务英文求职信范文
2014/01/02 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
2014年双拥工作总结
2014/11/21 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书