我是 JavaScript 的新手,只是学习一些基本的东西(函数、变量等),我对 JavaScript 中的复杂结构知之甚少。
当我阅读其中一个 Web 应用程序的源代码时,有一个很重要的地方我无法理解。这是代码:
Helper.using('py.Figures' , function (ns) {
ns.Point = function (params) {
ns.Figure.call(this, params);
this.setType('Point');
this.visual(new Kinetic.Circle({
radius:5, strokeWidth:2,
fill:'red', stroke:'black',
draggable:false
}));
this.getX = function () {
};
this.getY = function () {
};
this.getPosition = function () {
return {
x:this.getX(), y:this.getY()
}
}
ns.Point.distance = function (p1, p2) { // some code }
ns.MidPoint = function (params) { // some code }
};
1)我在上面的代码中不知道的第一点是第一行声明:
Helper.using('py.Figures' , function (ns) {... } );
本文档中的许多文件都使用这种结构。在这个文档中,有一个文件名Helper
,但是当我在这个文档中搜索时,我没有看到类似的东西py.Figures
(通过使用 Control + F)。那么,它真正指向什么?
上面的行看起来像一个函数,所以这function(ns)
意味着什么,它看起来像参数,但我不这么认为。
2)我不知道的第二点是:
ns.Point
, ns.Point.distance
,ns.MidPoint
看起来像方法。所以,function(ns)
是一堂课,对吧?如果ns.Point
是一个方法,为什么在这个方法中,还有其他方法,比如getX
and getY
,这让我觉得那些看起来也像一个类。
抱歉,如果我的问题很愚蠢,但是这段代码对我来说看起来很奇怪,而且我没有看到任何熟悉我学过的语言(Java、C#)或其他脚本语言(Python)的东西
谢谢。