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 相关文章推荐
基于jquery的代码显示区域自动拉长效果
Dec 07 Javascript
Egret引擎开发指南之创建项目
Sep 03 Javascript
javascript实现回车键提交表单方法总结
Jan 10 Javascript
浅谈JavaScript函数的四种存在形态
Jun 08 Javascript
Bootstrap 网站实例之单页营销网站
Oct 20 Javascript
jQuery插件WebUploader实现文件上传
Nov 07 Javascript
ajax异步请求详解
Jan 06 Javascript
vue监听滚动事件实现滚动监听
Apr 11 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
Jul 31 Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 Javascript
JavaScript Canvas实现验证码
Aug 02 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 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
人族 Terran 基本策略
2020/03/14 星际争霸
php中$this->含义分析
2009/11/29 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
PHP调用全国天气预报数据接口查询天气示例
2019/02/20 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
JS实现小星星特效
2019/12/24 Javascript
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
django的autoreload机制实现
2020/06/03 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
什么是岗位职责
2013/11/12 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
电台广播稿范文
2015/08/19 职场文书
环保建议书范文
2015/09/14 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android
python flappy bird小游戏分步实现流程
2022/02/15 Python
python字符串的一些常见实用操作
2022/04/06 Python
一文搞懂Java中的注解和反射
2022/06/21 Java/Android