码迷,mamicode.com
首页 > 移动开发 > 详细

js兵器谱之魔法召唤师:call / apply

时间:2017-02-28 19:47:22      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:多次   天下   绑定   apply   神经元   博士   app   one   设计师   

ps:以下为笔者在爬莲花山时,大脑某些神经元突起闪现火花,最后转换为一堆文字片段

当卷福,or不,应该是当奇异博士(doctor strange)被 ancient one扔在珠穆朗玛山顶快要冻死的时候,情急之下,他终于召唤出了传送门。

魔法的世界,无处不在,作为麻瓜的我,学了js后,猛然间发现,js中居然也是魔法的一部分。

call/apply,其实是代码重用在js中的一个重要体现。

这两货是函数自带的方法。

函数,本质上是一堆打包在一块的代码语句,能实现某种功用。

js中的函数,又是对象。

啥是对象呢?

譬如,我从狗东买了包核桃,店家贴心地随着了一个夹核桃的钳子。

核桃既是要处理的数据,处理核桃的目的是最终能吃到里面的肉。

钳子,则是处理数据的工具,(方法),每调用钳子一次,就可夹碎一至多个核桃,不等。

似乎有点扯远了,,,

js的作者,先天性地给函数额外赠送了2个方法:call apply

它们都接受两个参数,上下文和参数数组。

上下文,英文为 context,这可是个好词,值得咀嚼再三。

它,就是 powershell实战一书作者据说的场景,英文为 scenario。

给call/apply传递任何上下文,则可把函数召唤到此场景中运用。

仿佛,你买了台空调,此时,你的上下文,或者说场景,就是你的家

空调安装师傅,则是函数

发送你家地址上门时间给师傅,则如果传递上下文给师傅

师傅登门,安装好空调。走人。

-----------------------------------------------------------------

忽然间明白为什么古代的法师举行仪式画符完毕,总要喊上一嗓子:太上老君,急急如律令。

林正英在捉妖前,也总要穿上正装口念符咒。

圣斗士星矢变身前也总要bilibala一堆。

昨晚看开门大吉,某服装设计师被爆料说设计前总要正襟危坐,不然没灵感。

so,写js代码前,是不是也应该要念上啥咒语呢?

“燃烧吧,火鸟” 这是我想及此时脑子里蹦出的第一个词语

----------------------------------------------------------------------------

有人说,天下文章一大抄。

这话用到编程的世界,叫代码重用。

c++中,类是代码重用的一大重要体现。

js6之前没有类

有了代码重用,我们也就没必要重复造轮子了。

----------------------------------------------------------------------------

我又想到了函数绑定和函数柯里化

实现中,slice函数被多次召唤。

 

  

 

js兵器谱之魔法召唤师:call / apply

标签:多次   天下   绑定   apply   神经元   博士   app   one   设计师   

原文地址:http://www.cnblogs.com/sx00xs/p/6480129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!