Bright脚本中m和m.top之间的区别?

时间:2019-08-22 12:46:09

标签: roku brightscript

此差异可在Roku论坛上找到。但是我不明白。有人知道这种区别及其属性吗?

2 个答案:

答案 0 :(得分:2)

让它变得更简单。当您使用“ m.something”时,表示您正在引用“ .brs”文件中定义的组件变量。当您使用“ m.top.something”时,表示您正在引用“ .xml”文件中定义的组件或字段。 “ m”就像Java中的“ this”指针。

答案 1 :(得分:1)

我将尽力简单地解释一下:

“ m”是关联数组的图像。 m.top将是该关联数组的默认元素。 像这样:

m = {top : "value for top element"}

因此,现在您可以调用“ m.top”并获取其值。

在创建时,每个xml组件都添加了自己的“ m”。

通常-Brightscript中的“ m.top”用于引用所使用的xml组件。

这就是您可以这样做的原因: m.CustomComponent = m.top.findNode(“ CustomComponent”)

这将返回一个m.top的子组件(ID为“自定义组件”)。

这还将创建一个变量-具有组件文件范围的m.CustomComponent。

还可以将接口添加到.xml组件。 为了访问它,您将使用:m.top.nameOfInterface。

要创建一个具有接口值和组件范围的变量,您将使用以下方法:

m.interfaceValue = m.top.nameOfInterface

简而言之: m.CustomComponent或m.interfaceValue是具有组件范围的变量。 “ m”用于区分各种变量范围。

m.top是对其自身组件的引用。

通常,此概念对于数据作用域很重要。 请检查此文件(尤其是在“组件范围”部分)以了解有关此文件的更多信息: https://developer.roku.com/en-gb/docs/developer-program/core-concepts/data-scoping.md