私は 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) {... } );
このドキュメントの多くのファイルは、この構造を使用しています。このドキュメントには というファイル名がありますが、このドキュメントを検索しても(Control + F を使用して)Helper
のようなものは見つかりません。py.Figures
それで、それは本当に何を指しているのですか?
上記の行は関数のように見えますが、これは何をfunction(ns)
意味するのか、パラメーターのように見えますが、そうではないと思います。
2)私が知らない2番目のポイントは次のとおりです。
ns.Point
、ns.Point.distance
、ns.MidPoint
方法論のように見えます。それで、function(ns)
クラスですよね?ifns.Point
はメソッドですが、なぜこのメソッドにはgetX
andのような他のメソッドがありgetY
、それらもクラスのように見えると感じます。
私の質問がばかげている場合は申し訳ありませんが、このコードは私には奇妙に見えます。また、私が学んだ言語 (Java、C#)、または別のスクリプト言語 (Python) になじみのあるものは何もありません。
ありがとう。