Function.prototype.call.apply结合用法分析示例


Posted in Javascript onJuly 03, 2013

昨天在网上看到一个很有意思的js面试题,就跟同事讨论了下,发现刚开始很绕最后豁然开朗,明白过来之后发现还是挺简单的,跟大家分享下!
题目如下:var a = Function.prototype.call.apply(function(a){return a;}, [0,4,3]);alert(a);

分析步骤如下:
1、将Function.prototype.call当成整体,call方法是由浏览器实现的本地方法,是函数类型的内部方法
var a = (Function.prototype.call).apply(function(a){return a;}, [0,4,3]);

2、fun.apply(obj,args)等价于obj.fun(args),这一步是重点,必须理解!
(function(a){return a;}).apply(0,[4,3])
(function(a){return a;}).call(0,4,3)

3、 到这步结果就很明显了,a就是4,alert的结果就是4

这个题目迷惑的点就在于Function.prototype.call,理解好了,就清晰明了了!

Javascript 相关文章推荐
mapper--图片热点区域高亮组件官方站点
Dec 22 Javascript
Extjs单独定义各组件的实例代码
Jun 25 Javascript
JS的参数传递示例介绍
Feb 08 Javascript
深入理解JavaScript函数参数(推荐)
Jul 26 Javascript
JavaScript实现url参数转成json形式
Sep 25 Javascript
阿里云ecs服务器中安装部署node.js的步骤
Oct 08 Javascript
jQuery post数据至ashx实例详解
Nov 18 Javascript
详解AngularJS controller调用factory
May 19 Javascript
JS实现的加减乘除四则运算计算器示例
Aug 09 Javascript
详解vue-router 初始化时做了什么
Jun 11 Javascript
layui 设置table 行的高度方法
Aug 17 Javascript
学习RxJS之JavaScript框架Cycle.js
Jun 17 Javascript
Highcharts 非常实用的Javascript统计图demo示例
Jul 03 #Javascript
jQuery当鼠标悬停时放大图片的效果实例
Jul 03 #Javascript
Javascript/Jquery——简单定时器的多种实现方法
Jul 03 #Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
Jul 03 #Javascript
JS去除右边逗号的简单方法
Jul 03 #Javascript
JavaScript实现QueryString获取GET参数的方法
Jul 02 #Javascript
jQuery 全选/反选以及单击行改变背景色实例
Jul 02 #Javascript
You might like
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
为你总结一些php信息函数
2015/10/21 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
关于Mac下安装nodejs、npm和cnpm的教程
2018/04/11 NodeJs
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
微信小程序(订阅消息)功能
2019/10/25 Javascript
python 实现归并排序算法
2012/06/05 Python
Python实现的金山快盘的签到程序
2013/01/17 Python
Python群发邮件实例代码
2014/01/03 Python
python计算列表内各元素的个数实例
2018/06/29 Python
PyQt5响应回车事件的方法
2019/06/25 Python
python读写csv文件实例代码
2019/07/05 Python
Python Django 命名空间模式的实现
2019/08/09 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
keras 权重保存和权重载入方式
2020/05/21 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
回门宴父母答谢词
2014/01/26 职场文书
个性发展自我评价
2014/02/11 职场文书
高中家长寄语
2014/04/02 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
MySQL实现配置主从复制项目实践
2022/03/31 MySQL