new一个类的时候,传入的回调函数如何调用prototype上的方法?

发布于 2022-09-05 21:51:50 字数 142 浏览 21 评论 0

比如,定义了一个类A,类A的prototype上有一个test方法,在new A(callback);的时候,传入的的callback里面如何调用A的test方法? 还有一点疑问,在传入callback里面this是指向什么?
问题可能有点小白。希望大神不舍赐教。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

机场等船 2022-09-12 21:51:50

如果传入 callback 在 A 里调用的话,这个 callback 的 this 是指向全局/undefined(严格模式下)。

可以为 callback 指定 this

function A (callback) {
  callback.call(A)
}

A.prototype.test = function (msg) {
  console.log(msg)
}

function callback () {
  this.prototype.test('I, Callback.')
}

new A(callback)
不语却知心 2022-09-12 21:51:50

var newObj = new A();
1.newObj.test();//调用
2.this为newObj;//指向问题

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文