1

这是 raphaeljs graffle 示例中定义的“dragger

var dragger = function () {
this.ox = this.type == "rect" ? this.attr("x") : this.attr("cx");
this.oy = this.type == "rect" ? this.attr("y") : this.attr("cy");
this.animate({"fill-opacity": .2}, 500);
},
move = function (dx, dy) {
    var att = this.type == "rect" ? {x: this.ox + dx, y: this.oy + dy} : {cx: this.ox + dx, cy: this.oy + dy};
    this.attr(att);
    for (var i = connections.length; i--;) {
        r.connection(connections[i]);
    }
    r.safari();
},
up = function () {
    this.animate({"fill-opacity": 0}, 500);
},
r = Raphael("holder", 640, 480),
connections = [],
shapes = [  r.ellipse(190, 100, 30, 20),
            r.rect(290, 80, 60, 40, 10),
            r.rect(290, 180, 60, 40, 2),
            r.ellipse(450, 100, 20, 20)
        ];

我是对的吗:

  1. 移动、向上、r、连接和形状是独立变量吗?即不是拖动器的方法/属性?
  2. 这只是等效范围内变量的顺序定义?

move、up 等是否被认为是使用 var 关键字声明的?

谢谢您的帮助。爱与和平。

4

1 回答 1

3

这就像一长串的var陈述。

类似且更易于阅读:

var a = 1, b = 2, c = 3;

在这种情况下,我绝对不会使用这种语法,而是为每个变量使用单独的一行。真的很难按原样阅读。

简而言之:是的,你在这两个方面都是对的。这与

var dragger = ...;
var move = ...;
var up = ....;
...

除了阅读很痛苦。隐藏在声明之间的额外逗号将整个事情联系到var声明中。

于 2013-07-05T20:19:26.383 回答