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 相关文章推荐
图片上传即时显示缩略图的js代码
May 27 Javascript
JavaScript QueryString解析类代码
Jan 17 Javascript
Jquery AutoComplete自动完成 的使用方法实例
Mar 19 Javascript
使用jQuery重置(reset)表单的方法
May 05 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
Dec 23 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
利用JQuery直接调用asp.net后台的简单方法
Oct 27 Javascript
基于javascript实现按圆形排列DIV元素(一)
Dec 02 Javascript
JavaScript运动框架 多值运动(四)
May 18 Javascript
微信小程序实现分享朋友圈的图片功能示例
Jan 18 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
May 14 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
Sep 16 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
php模板之Phpbean的目录结构
2008/01/10 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
jQuery AjaxQueue改进步骤
2011/10/06 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
JavaScript面向对象继承原理与实现方法分析
2018/08/09 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
浅谈python写入大量文件的问题
2018/11/09 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
四年大学自我鉴定
2014/02/17 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
结婚喜宴主持词
2014/03/14 职场文书
物理学专业自荐信
2014/06/11 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
教师节校长致辞
2015/07/31 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers