【问题标题】:JavaScript this-keyword and contextJavaScript this-关键字和上下文
【发布时间】:2018-06-22 04:54:28
【问题描述】:

https://www.w3schools.com/graphics/tryit.asp?filename=trygame_canvas

我正在查看上面链接中教程中的 js 代码,我主要了解除了该行之外发生了什么

this.context = this.canvas.getContext("2d");

this.context 来自哪里?当然,“this”这个词是指 myGameArea 对象,然后 context 应该是 myGameArea 的某个属性,但尚未定义。任何帮助将不胜感激!

【问题讨论】:

  • 那行定义.context
  • 你是对的,'this' 指的是 myGameArea (它是一个对象)。对象可以在 Javascript 中动态扩展。您提到的那一行实际上是定义 myGameArea.context。
  • 看看this answer

标签: javascript html this-keyword


【解决方案1】:

该行精确地定义了context 属性。一旦你有了一个对象,你就可以通过这种方式向它添加属性:this.context = ...

我建议你看看这个链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects 肯定会解释很多事情。

【讨论】:

    【解决方案2】:

    在松散类型的语言中,您可以在运行时定义对象的属性。它非常神奇,并且允许一些非常疯狂的东西。

    该行所做的只是将上下文属性设置为 this.canvas.getContext("2d")。

    PHP 以类似的方式工作:)

    【讨论】:

    • 嗯好的!所以 context 仍然是 myGameArea 的一个属性,可以作为 myGameArea.context 访问?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多