JavaScript失败(this。*方向错误),为什么

EE

在对象内部创建指向函数的指针时,“ this”未正确解析
请尝试以下示例以获取概念...

// this.* fail
a = { x : 123,  f : function(){ console.log( this.x ) } }
a.f()     // 123
b = a.f   // b points to a.f now
b()       // should print 123 but gaves 'undefined'
  • 当然,我们可以使用对象名称而不是“ this”来强制执行分辨率,
    但是随后我们就失去了功能性...
阿尔特姆

您可以使用bind

b = a.f.bind(a);
b(); // 123

MDN

bind()方法创建一个新函数,该函数在被调用时将其关键字设置为提供的值,并在调用新函数时提供给定的参数序列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么JUnit超时是错误而不是失败?

当参数包含括号时,为什么JavaScript会因语法错误而失败?

为什么此JavaScript废话警报“失败”?

为什么这个 javascript 验证总是失败

为什么定时javascript重定向失败?

Javascript模块导入失败-为什么?

JavaScript“如果”-为什么它不会失败?

为什么我的github合并沿错误的方向进行?

为什么我的窗口大小调整方向错误?

如果if语句失败,为什么错误数组不返回?

为什么 Jenkins 失败并出现错误:退出 9009

为什么会出现此“ PulseAudio连接失败”错误?

为什么开玩笑抛出`错误:“toString()”失败`

为什么“ tasksel”会给出“智能失败”错误?

为什么Maven Javadoc失败并显示错误“无法读取选项”?

为什么GoConvey测试失败,错误代码为0?

为什么错误:arrange() 在隐式 mutate() 步骤失败

为什么 enable_if 失败会导致编译时错误?

为什么我的Mocha / chai错误抛出测试失败?

为什么会发生xrandr错误“ BadMatch”,“ BadName”,“ Gamma失败”?

为什么`xvfb-run glxgears`失败并显示错误?

为什么git commit失败并出现sed错误?

为什么我的 Docker Jekyll 构建失败?错误:权限被拒绝

为什么JavaScript会显示此错误?

为什么/ * * /注释的行为不同?Javascript错误?

Javascript reduce() - 为什么返回错误?

为什么mmap失败?

为什么split()失败?

为什么会失败?