此差异可在Roku论坛上找到。但是我不明白。有人知道这种区别及其属性吗?
答案 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