这个Javascript语法是什么意思?
我正在使用ROS结构,调试时遇到了一些问题,我发现了以下代码片段:这个Javascript语法是什么意思?,javascript,debugging,Javascript,Debugging,我正在使用ROS结构,调试时遇到了一些问题,我发现了以下代码片段: ros.visualization.GLNode = Class.extend({ init: function () { this.meshGroupIDs = [ ]; this.matrix = sglIdentityM4(); this.children = [ ]; }, }); 这些线是什么意思 ros.visualization.
ros.visualization.GLNode = Class.extend({
init: function () {
this.meshGroupIDs = [ ];
this.matrix = sglIdentityM4();
this.children = [ ];
},
});
这些线是什么意思
ros.visualization.GLnode::它正在尝试加载一些文件吗?这个
代表什么
extend::这是做什么的?它是否试图扩展类,如果是,那么是哪一个?以我的方式,它将是GLnode
this.matrix::当我看到这个
命令时,我总是怀疑它做了什么
init:function()::这个函数在js中是什么意思?这是一个关键词吗?如果不是,那么为什么每个人都在onloadbody
或窗口中使用它。onload()
ros.visualization.GLNode = Class.extend({
这是一个新类(或对象类型)的定义,它使用某种javascript库,其中包含函数class.extend()
这是名为“init”的新类上属性的定义。属性的类型是“function”,这意味着它的工作方式类似于一个方法,并且可以被调用
这是此类对象上成员变量的定义,并将其初始化为空数组
这是thisclass对象上另一个成员变量的定义,并将其初始化为sglIdentityM4()函数调用的返回值
这是此类对象上成员变量的定义,并将其初始化为空数组
“this”是对本地对象的引用,是您处理所处对象的实例变量的方式 ros.visualization.GLNode
操作符允许您访问对象属性,因此ros.visualization.GLNode=…
意味着有一个名为ros
的对象,具有visualization
属性,您正在为该对象的GLNode
属性分配某些内容
类扩展
Class.extend
不是JavaScript的内置部分,因此如果不知道它是如何定义的,就不可能确切地知道它在做什么。我可以从名字和它的使用方式猜出它创建了一个新的“类”或扩展了一个现有的类。代码正在传递一个对象文本(告诉它如何定义类的{…}
部分)
这是矩阵
这是调用函数的上下文。在对象上调用函数时(在本例中为someGLNodeObject.init()
),this
将设置为该对象。因此this.matrix=sglIdentityM4()
正在设置当前对象的矩阵
属性
init:function()
在对象文本中定义一个名为init
的函数。Class.extend
函数可能像构造函数一样使用init
函数来初始化新的GLnode
实例。我认为回答您所有问题的最佳方法之一是阅读javascript入门,了解语言的功能和用法。。这是我喜欢的:我发现了一些有用的东西,可能对你也有帮助
init: function () {
this.meshGroupIDs = [ ];
this.matrix = sglIdentityM4();
this.children = [ ];