迅雷今天前端笔试编程-bind

。。不知道哪里出问题了通过率0
下面我们需要构造一个新的特殊的bind方法,覆盖 Function.prototype.bind 方法,要求如下:

  • 新的bind方法返回的函数拷贝需要支持再次改变this的指向
  • 新的bind方法需要像ES5标准的bind方法一样处理预设参数和函数拷贝的动态参数

答题方法

  1. 选择 JavaScript(Node 0.12.12),其他语言通过不得分
    2.复制起手代码
    var repl = require('repl')

Function.prototype.bind = function () {
// TODO
}

repl.start({
useGlobal: true,
prompt: ''
})
3.编写代码并保存
输入描述:
给定的函数被覆盖为bind后的函数拷贝并执行
输出描述:
函数拷贝的执行结果
示例1
输入

function foo() {
return this.bar
}

foo = foo.bind({ bar: 'bar1' })
foo = foo.bind({ bar: 'bar2' })

foo()
输出

'bar2'
示例2
输入

function foo(a, b, c) {
return a + " " + b + " " + c + " " + this.bar
}

foo = foo.bind({
bar: "bar6"
}, 3, 4)

foo(5)
输出

'3 4 5 bar6'
、、、、、、、、
我的代码

Function.prototype.bind = function () {
// 这里写代码
    var _this = arguments[0];


    var data =Array.prototype.slice.apply(arguments,[1]);
    var self = this;
    return function(){

       return self.apply(_this,data.concat(Array.prototype.slice.apply(arguments,[0])));
    }
}

求告诉

#迅雷##前端工程师#
全部评论
我的过了,只是把第一次this状态保存,方法比较取巧 https://www.nowcoder.com/discuss/44541?type=0&order=0&pos=26&page=0
点赞 回复 分享
发布于 2017-09-19 20:36
你这个不能链式调用bind吧
点赞 回复 分享
发布于 2017-09-19 20:38

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# AI面会问哪些问题? #
24732次浏览 486人参与
# 中国电信笔试 #
31057次浏览 283人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
14119次浏览 209人参与
# 你的实习产出是真实的还是包装的? #
18763次浏览 330人参与
# 如果秋招能重来,我会____ #
96686次浏览 500人参与
# 春招至今,你的战绩如何? #
59824次浏览 542人参与
# 米连集团26产品管培生项目 #
12945次浏览 285人参与
# i人适合做什么工作 #
36905次浏览 124人参与
# 我是面试官,请用一句话让我破防 #
79508次浏览 219人参与
# 哪些公司真双非友好? #
69191次浏览 287人参与
# 找AI工作可以去哪些公司? #
7652次浏览 183人参与
# 从事AI岗需要掌握哪些技术栈? #
7630次浏览 244人参与
# 面试尴尬现场 #
220747次浏览 861人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
339882次浏览 2165人参与
# 五一之后,实习真的很难找吗? #
102796次浏览 584人参与
# 金三银四,你的春招进行到哪个阶段了? #
21544次浏览 277人参与
# 你做过最难的笔试是哪家公司 #
29991次浏览 187人参与
# 你小时候最想从事什么职业 #
159835次浏览 2072人参与
# 阿里笔试 #
176326次浏览 1302人参与
# 应届生第一份工资要多少合适 #
20476次浏览 84人参与
# 一张图晒出你司的标语 #
3805次浏览 72人参与
# 面试被问期望薪资时该如何回答 #
382455次浏览 2163人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务