为什么要把一个function赋值给一个var?

var foo = function bar() { // …
};

看到很多代码这样写的, 为什么要把一个function赋值给一个var,
我直接用这个bar就可以了啊
比如说 调用时:
bar();…
设置回调时
setCallback(bar);

我是觉得就是习惯性问题。就像很多人喜欢用for(;;){},而我习惯用while(true){},你非要说他们有没有区别,我估计也有,但大多数时候没必要去较这个劲

怎么说呢,可能有些人觉得,当需要调用函数,获得其结果的时候,用bar()更符合直觉,当需要把函数本身作为参数时(如callBack的时候),如果让他们写bar,后面会直觉性的加上括号,变成setCallBack(bar()),但是如果之前有个var foo=…,这里用foo的时候由于是个变量(起码看起来像),就不会想在后面跟括号

PS:虽然你依旧可以用foo()起到跟bar()一样的效果……

没为什么,手痒而已。我个人就从来不干这事。
(不过有一种情况下是需要的,例如:)

var isDomNode = typeof window === 'object' && (typeof Node === 'function' ?
        function (obj) {
            // If "TypeError: Right-hand side of 'instanceof' is not callback" is thrown,
            // it should because window.Node was overwritten.
            return obj instanceof Node;
        } :
        function (obj) {
            return obj &&
                   typeof obj === 'object' &&
                   typeof obj.nodeType === 'number' &&
                   typeof obj.nodeName === 'string';
        };

说实话, 没看懂, isDomNode 什么时候会被用到?

这是编辑器用的