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 相关文章推荐
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
Dec 23 Javascript
25个好玩的JavaScript小游戏分享
Apr 22 Javascript
javascript数组快速打乱重排的方法
Jan 02 Javascript
jQuery 删除/替换DOM元素的几种方式
May 20 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
Js的Array数组对象详解
Feb 22 Javascript
Javascript实现图片懒加载插件的方法
Oct 20 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
Jan 17 Javascript
js实现横向拖拽导航条功能
Feb 17 Javascript
vue click.stop阻止点击事件继续传播的方法
Sep 04 Javascript
layui layer select 选择被遮挡的解决方法
Sep 21 Javascript
JS原型和原型链原理与用法实例详解
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
需要发散思维学习PHP
2009/06/29 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
React中的refs的使用教程
2018/02/13 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
[03:48]大碗DOTA
2019/07/25 DOTA
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
详解Python3注释知识点
2019/02/19 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
python批量图片处理简单示例
2019/08/06 Python
Python实现数值积分方式
2019/11/20 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
python多进程重复加载的解决方式
2019/12/13 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
Python中Selenium库使用教程详解
2020/07/23 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
编辑硕士自荐信范文
2013/11/27 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
项目战略合作意向书
2015/05/08 职场文书
汽车销售合同文本
2019/08/08 职场文书