【发布时间】:2014-11-02 02:59:24
【问题描述】:
看看下面的 jfiddle sn-p 中的匿名 jQuery 函数。还有其他库作为这个 jfiddle 的外部引用,所以我只是猜测这是 jQuery 语法。
代码sn-p:
$(function() {
var canvas = new draw2d.Canvas("gfx_holder");
var x = 20,
y = 20;
addArrowToConnection();
injectSetPosition();
var previousRec, newRec;
for (var i = 1; i <= 64; i++) {
newRec = addRec(canvas, i, x, y);
if (i / 8 == Math.floor(i / 8)) {
y = y + 80;
x = 20;
} else {
x = x + 80;
}
if (previousRec != null && newRec != null) {
var conn = new draw2d.Connection();
conn.sourcePort = previousRec.port;
conn.targetPort = newRec.port;
var label = new draw2d.shape.basic.Label({
text: "Label"
});
label.setColor("#0d0d0d");
label.setFontColor("#0d0d0d");
label.setStroke(0);
var arrow = new draw2d.decoration.connection.ArrowDecorator(10, 6);
conn.setTargetDecorator(arrow);
conn.setRouter(new draw2d.layout.connection.DirectRouter());
conn.add(label, new draw2d.layout.locator.ParallelMidpointLocator());
canvas.add(conn);
}
previousRec = newRec;
}
});
这个 jfiddle 中的所有其他函数都使用 JavaScript 标准函数表示法之一 (var functionName = function() {} vs function functionName() {}),除了上面的那个。如果您尝试用其他三种表示法替换语法,则代码不起作用。这个符号有什么意义?为什么只有最后一个语法有效?
var fun = function() { ... } // doesn't work
function fun() { ... } // doesn't work
(function() { ... })(); // doesn't work
$(function() { .. }); // works!!!!!!!!!!!!!!!
【问题讨论】:
-
此符号用于 jQuery,相当于
$(document).ready(function() {表示“当文档完全加载时,执行以下操作” -
+1 表示评论,因为您是 Packer 的粉丝!我住在威斯康星州!
-
我会选择 +1,但“G”代表乔治亚大学,而不是绿湾。 ;)
-
哈哈!他们长得很像!
标签: javascript jquery function